From db71a0179c2d093612b70794d507fba19f0cef6a Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Tue, 19 Apr 2022 17:37:11 -0400 Subject: [PATCH] Create build_push.yml --- .github/workflows/build_push.yml | 109 +++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 .github/workflows/build_push.yml diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml new file mode 100644 index 0000000000..d5fb25fc7d --- /dev/null +++ b/.github/workflows/build_push.yml @@ -0,0 +1,109 @@ +name: CI +on: + push: + branches: + - master + workflow_dispatch: + inputs: + version: + description: 'Version' + required: true + type: string + +jobs: + build: + name: Build app + runs-on: ubuntu-latest + + steps: + - name: Cancel previous runs + uses: styfle/cancel-workflow-action@0.9.1 + with: + access_token: ${{ github.token }} + all_but_latest: true + + - name: Clone repo + uses: actions/checkout@v3 + + - name: Validate Gradle Wrapper + uses: gradle/wrapper-validation-action@v1 + + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: 11 + + - name: Copy CI gradle.properties + run: | + mkdir -p ~/.gradle + cp .github/runner-files/ci-gradle.properties ~/.gradle/gradle.properties + + - name: Build app + uses: gradle/gradle-command-action@v2 + with: + arguments: assembleStandardRelease + + # Sign APK and create release for tags + - name: Get tag name + if: github.event.inputs.version != '' + run: | + set -x + echo "VERSION_TAG=${{github.event.inputs.version}}" >> $GITHUB_ENV + + - name: Sign APK + if: env.VERSION_TAG != '' + 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: Clean up build artifacts + if: env.VERSION_TAG != '' + run: | + set -e + + mv app/build/outputs/apk/standard/release/app-standard-universal-release-unsigned-signed.apk tachiyomij2k-${{ env.VERSION_TAG }}.apk + sha=`sha256sum tachiyomij2k-${{ env.VERSION_TAG }}.apk | awk '{ print $1 }'` + echo "APK_UNIVERSAL_SHA=$sha" >> $GITHUB_ENV + + cp app/build/outputs/apk/standard/release/app-standard-arm64-v8a-release-unsigned-signed.apk tachiyomij2k-arm64-v8a-${{ env.VERSION_TAG }}.apk + sha=`sha256sum tachiyomij2k-arm64-v8a-${{ env.VERSION_TAG }}.apk | awk '{ print $1 }'` + echo "APK_ARM64_V8A_SHA=$sha" >> $GITHUB_ENV + + cp app/build/outputs/apk/standard/release/app-standard-armeabi-v7a-release-unsigned-signed.apk tachiyomij2k-armeabi-v7a-${{ env.VERSION_TAG }}.apk + sha=`sha256sum tachiyomij2k-armeabi-v7a-${{ env.VERSION_TAG }}.apk | awk '{ print $1 }'` + echo "APK_ARMEABI_V7A_SHA=$sha" >> $GITHUB_ENV + + cp app/build/outputs/apk/standard/release/app-standard-x86-release-unsigned-signed.apk tachiyomij2k-x86-${{ env.VERSION_TAG }}.apk + sha=`sha256sum tachiyomij2k-x86-${{ env.VERSION_TAG }}.apk | awk '{ print $1 }'` + echo "APK_X86_SHA=$sha" >> $GITHUB_ENV + + - name: Create Release + if: env.VERSION_TAG != '' + uses: softprops/action-gh-release@v1 + with: + tag_name: ${{ env.VERSION_TAG }} + name: TachiyomiJ2K ${{ env.VERSION_TAG }} + body: | + --- + + ### Checksums + + | Variant | SHA-256 | + | ------- | ------- | + | Universal | ${{ env.APK_UNIVERSAL_SHA }} + | arm64-v8a | ${{ env.APK_ARM64_V8A_SHA }} + | armeabi-v7a | ${{ env.APK_ARMEABI_V7A_SHA }} + | x86 | ${{ env.APK_X86_SHA }} | + files: | + tachiyomij2k-${{ env.VERSION_TAG }}.apk + tachiyomij2k-arm64-v8a-${{ env.VERSION_TAG }}.apk + tachiyomij2k-armeabi-v7a-${{ env.VERSION_TAG }}.apk + tachiyomij2k-x86-${{ env.VERSION_TAG }}.apk + draft: true + prerelease: false + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}