diff --git a/.github/workflows/nightly-release.yml b/.github/workflows/nightly-release.yml index 0e9db70..4f19fba 100644 --- a/.github/workflows/nightly-release.yml +++ b/.github/workflows/nightly-release.yml @@ -64,3 +64,80 @@ jobs: - name: No new commits if: needs.check-commits.outputs.has_new_commits == 'false' run: echo "No new commits found." + + build: + name: Build, Sign & Release + runs-on: ubuntu-latest + steps: + - name: Checkout project + uses: actions/checkout@v4.1.7 + with: + token: ${{ secrets.GIT_BOT_TOKEN }} + + - name: set up JDK 17 + uses: actions/setup-java@v4.2.1 + with: + java-version: '17' + distribution: 'temurin' + cache: gradle + + - uses: actions/cache@v4.0.2 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} + restore-keys: | + ${{ runner.os }}-gradle- + + - name: Grant execute permission for gradlew + run: chmod +x gradlew + + - name: Get weather.properties from secrets + run: printf "%s" "${{ secrets.WEATHER_PROPERTIES }}" > $GITHUB_WORKSPACE/weather.properties + + - name: Build with Gradle + run: ./gradlew clean && ./gradlew assembleWithInternetRelease && ./gradlew assembleWithoutInternetRelease + + - name: Sign APK - WithInternet + uses: ilharp/sign-android-release@v1.0.4 + # ID used to access action output + id: sign_app_withInternet + with: + releaseDir: app/build/outputs/apk/withInternet/release + signingKey: ${{ secrets.SIGNINGKEY_BASE64 }} + keyAlias: ${{ secrets.KEY_ALIAS }} + keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} + keyPassword: ${{ secrets.KEY_PASSWORD }} + buildToolsVersion: 33.0.0 + + - name: Release to GitHub - WithInternet + uses: svenstaro/upload-release-action@2.9.0 + with: + repo_token: ${{ secrets.GIT_BOT_TOKEN }} + file: ${{steps.sign_app_withInternet.outputs.signedFile}} + asset_name: EasyLauncher-Internet-${{ github.ref_name }}-Signed.apk + tag: nightly + overwrite: true + + - name: Sign APK - WithoutInternet + uses: ilharp/sign-android-release@v1.0.4 + # ID used to access action output + id: sign_app_withoutInternet + with: + releaseDir: app/build/outputs/apk/withoutInternet/release + signingKey: ${{ secrets.SIGNINGKEY_BASE64 }} + keyAlias: ${{ secrets.KEY_ALIAS }} + keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} + keyPassword: ${{ secrets.KEY_PASSWORD }} + buildToolsVersion: 33.0.0 + + - name: Release to GitHub - WithoutInternet + uses: svenstaro/upload-release-action@2.9.0 + with: + repo_token: ${{ secrets.GIT_BOT_TOKEN }} + file: ${{steps.sign_app_withoutInternet.outputs.signedFile}} + asset_name: EasyLauncher-${{ github.ref_name }}-Signed.apk + tag: nightly + overwrite: true +