name: Release Builder on: push: branches: - 'release' jobs: check_wrapper: name: Validate Gradle Wrapper runs-on: ubuntu-latest steps: - name: Clone repo uses: actions/checkout@v2 - name: Validate Gradle Wrapper uses: gradle/wrapper-validation-action@v1 build: name: Build app needs: check_wrapper if: "!startsWith(github.event.head_commit.message, '[SKIP CI]')" runs-on: ubuntu-latest steps: - name: Cancel previous runs uses: styfle/cancel-workflow-action@0.5.0 with: access_token: ${{ github.token }} - name: Clone repo uses: actions/checkout@v2 - name: Set up JDK 1.8 uses: actions/setup-java@v1 with: java-version: 1.8 - name: Copy CI gradle.properties run: | mkdir -p ~/.gradle cp .github/runner-files/ci-gradle.properties ~/.gradle/gradle.properties - name: Write google-services.json uses: DamianReeves/write-file-action@v1.0 with: # The path to the file to write path: app/google-services.json # The contents of the file contents: ${{ secrets.GOOGLE_SERVICES_TEXT }} # The mode of writing to use: `overwrite`, `append`, or `preserve`. write-mode: overwrite # optional, default is preserve - name: Build app uses: eskatos/gradle-command-action@v1 with: arguments: assembleRelease --stacktrace wrapper-cache-enabled: true dependencies-cache-enabled: true configuration-cache-enabled: true - name: Sign APK uses: r0adkll/sign-android-release@v1 with: releaseDirectory: app/build/outputs/apk/standard/release signingKeyBase64: ${{ secrets.SIGNING_KEY }} alias: ${{ secrets.ALIAS }} keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD }} - name: Create release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.run_number }} release_name: TachiyomiSY draft: true prerelease: false - name: Upload APK to release uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ${{ env.SIGNED_RELEASE_FILE }} asset_name: TachiyomiSY.apk asset_content_type: application/vnd.android.package-archive