diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 18fb765..bf383f6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,9 +1,9 @@ name: Build job on: - # Every Saturday at 21:00 UTC + # Every Thursday at 18:00 UTC schedule: - - cron: '0 21 * * 6' + - cron: '0 18 * * 4' # Manual triggers workflow_dispatch: inputs: @@ -15,8 +15,10 @@ on: required: false jobs: - build-app: + build: + name: Build app runs-on: ubuntu-latest + steps: - name: Clone Repository (Latest) uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -38,9 +40,20 @@ jobs: java-version: 17 distribution: temurin - - name: Setup Android SDK - run: | - ${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager "build-tools;29.0.3" + - name: Set up gradle + uses: gradle/actions/setup-gradle@94baf225fe0a508e581a564467443d0e2379123b # v4.3.0 + + - name: Build APK + run: ./gradlew assemblePreview -Pwith-analytics -Pwith-updater + + - name: Sign APK + uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407 # v1 + with: + releaseDirectory: app/build/outputs/apk/preview + signingKeyBase64: ${{ secrets.SIGNING_KEY }} + alias: ${{ secrets.ALIAS }} + keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} + keyPassword: ${{ secrets.KEY_PASSWORD }} - name: Get previous release id: last_release @@ -50,7 +63,7 @@ jobs: exclude_types: "draft|prerelease" view_top: 1 - - name: Prepare build + - name: Prepare changelog run: | set -e @@ -71,42 +84,27 @@ jobs: | jq -r '.[]|"- \(.message | first) (@\(.username))"') {delimiter}" >> $GITHUB_ENV - - name: Set up gradle - uses: gradle/actions/setup-gradle@94baf225fe0a508e581a564467443d0e2379123b # v4.3.0 - - - name: Build APK - run: ./gradlew assembleStandardPreview - - - name: Sign APK - uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407 # v1 - with: - releaseDirectory: app/build/outputs/apk/standard/preview - signingKeyBase64: ${{ secrets.SIGNING_KEY }} - alias: ${{ secrets.ALIAS }} - keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} - keyPassword: ${{ secrets.KEY_PASSWORD }} - - name: Clean up build artifacts run: | set -e - cp app/build/outputs/apk/standard/preview/app-standard-universal-preview-signed.apk mihon-r${{ env.COMMIT_COUNT }}.apk + cp app/build/outputs/apk/preview/app-universal-preview-signed.apk mihon-r${{ env.COMMIT_COUNT }}.apk sha=`sha256sum mihon-r${{ env.COMMIT_COUNT }}.apk | awk '{ print $1 }'` echo "APK_UNIVERSAL_SHA=$sha" >> $GITHUB_ENV - cp app/build/outputs/apk/standard/preview/app-standard-arm64-v8a-preview-signed.apk mihon-arm64-v8a-r${{ env.COMMIT_COUNT }}.apk + cp app/build/outputs/apk/preview/app-arm64-v8a-preview-signed.apk mihon-arm64-v8a-r${{ env.COMMIT_COUNT }}.apk sha=`sha256sum mihon-arm64-v8a-r${{ env.COMMIT_COUNT }}.apk | awk '{ print $1 }'` echo "APK_ARM64_V8A_SHA=$sha" >> $GITHUB_ENV - cp app/build/outputs/apk/standard/preview/app-standard-armeabi-v7a-preview-signed.apk mihon-armeabi-v7a-r${{ env.COMMIT_COUNT }}.apk + cp app/build/outputs/apk/preview/app-armeabi-v7a-preview-signed.apk mihon-armeabi-v7a-r${{ env.COMMIT_COUNT }}.apk sha=`sha256sum mihon-armeabi-v7a-r${{ env.COMMIT_COUNT }}.apk | awk '{ print $1 }'` echo "APK_ARMEABI_V7A_SHA=$sha" >> $GITHUB_ENV - cp app/build/outputs/apk/standard/preview/app-standard-x86-preview-signed.apk mihon-x86-r${{ env.COMMIT_COUNT }}.apk + cp app/build/outputs/apk/preview/app-x86-preview-signed.apk mihon-x86-r${{ env.COMMIT_COUNT }}.apk sha=`sha256sum mihon-x86-r${{ env.COMMIT_COUNT }}.apk | awk '{ print $1 }'` echo "APK_X86_SHA=$sha" >> $GITHUB_ENV - cp app/build/outputs/apk/standard/preview/app-standard-x86_64-preview-signed.apk mihon-x86_64-r${{ env.COMMIT_COUNT }}.apk + cp app/build/outputs/apk/preview/app-x86_64-preview-signed.apk mihon-x86_64-r${{ env.COMMIT_COUNT }}.apk sha=`sha256sum mihon-x86_64-r${{ env.COMMIT_COUNT }}.apk | awk '{ print $1 }'` echo "APK_X86_64_SHA=$sha" >> $GITHUB_ENV