name: Pre-release on: push: branches: [ master ] paths-ignore: - '*.md' - '*.json' - '**/wcokey.txt' concurrency: group: "pre-release" cancel-in-progress: true jobs: build: runs-on: ubuntu-latest steps: - name: Generate access token id: generate_token uses: tibdex/github-app-token@v1 with: app_id: ${{ secrets.GH_APP_ID }} private_key: ${{ secrets.GH_APP_KEY }} repository: "recloudstream/secrets" - uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v2 with: java-version: '11' distribution: 'adopt' - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Set checks for prerelease updates to true by default run: | sed -i "s/R\.string\.prerelease_update_key), false))/R\.string\.prerelease_update_key), true))/" app/src/main/java/com/lagradost/cloudstream3/utils/InAppUpdater.kt - name: Update prerelease_commit_hash run: | COMMIT_HASH="$(git log -1 --format='%H')" sed -i "s/unknown_prerelease<\/string>/$COMMIT_HASH<\/string>/g" app/src/main/res/values/strings.xml - name: Fetch keystore id: fetch_keystore run: | TMP_KEYSTORE_FILE_PATH="${RUNNER_TEMP}"/keystore mkdir -p "${TMP_KEYSTORE_FILE_PATH}" curl -H "Authorization: token ${{ steps.generate_token.outputs.token }}" -o "${TMP_KEYSTORE_FILE_PATH}/prerelease_keystore.keystore" "https://raw.githubusercontent.com/recloudstream/secrets/master/keystore.jks" curl -H "Authorization: token ${{ steps.generate_token.outputs.token }}" -o "keystore_password.txt" "https://raw.githubusercontent.com/recloudstream/secrets/master/keystore_password.txt" KEY_PWD="$(cat keystore_password.txt)" echo "::add-mask::${KEY_PWD}" echo "::set-output name=key_pwd::$KEY_PWD" - name: Run Gradle run: | ./gradlew assemblePrerelease ./gradlew androidSourcesJar ./gradlew makeJar env: SIGNING_KEY_ALIAS: "key0" SIGNING_KEY_PASSWORD: ${{ steps.fetch_keystore.outputs.key_pwd }} SIGNING_STORE_PASSWORD: ${{ steps.fetch_keystore.outputs.key_pwd }} - name: Create pre-release uses: "marvinpinto/action-automatic-releases@latest" with: repo_token: "${{ secrets.GITHUB_TOKEN }}" automatic_release_tag: "pre-release" prerelease: false title: "Pre-release Build" files: | app/build/outputs/apk/prerelease/*.apk app/build/libs/app-sources.jar app/build/classes.jar