name: Github Release Workflow on: push: tags: - 'v[0-9]+.[0-9]+.[0-9]+' jobs: build: runs-on: ubuntu-latest steps: - name: Setup JDK 17 uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - uses: actions/checkout@v3 - name: Cache Gradle and wrapper uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} - name: Make gradlew executable run: chmod +x ./gradlew - name: Setup build tool version variable shell: bash run: | BUILD_TOOL_VERSION=$(ls /usr/local/lib/android/sdk/build-tools/ | tail -n 1) echo "BUILD_TOOL_VERSION=$BUILD_TOOL_VERSION" >> $GITHUB_ENV echo Last build tool version is: $BUILD_TOOL_VERSION - name: Build All APKs id: build run: | # Build release variants bash ./gradlew assembleTempusRelease bash ./gradlew assembleDegoggledRelease # Build debug variants bash ./gradlew assembleTempusDebug bash ./gradlew assembleDegoggledDebug - name: Sign All Tempus Release APKs id: sign_tempus_release uses: r0adkll/sign-android-release@v1 with: releaseDirectory: app/build/outputs/apk/tempus/release signingKeyBase64: ${{ secrets.KEYSTORE_BASE64 }} alias: ${{ secrets.KEY_ALIAS_GITHUB }} keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD_GITHUB }} apkPath: "**/*.apk" env: BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOL_VERSION }} - name: Sign All Degoggled Release APKs id: sign_degoogled_release uses: r0adkll/sign-android-release@v1 with: releaseDirectory: app/build/outputs/apk/degoogled/release signingKeyBase64: ${{ secrets.KEYSTORE_BASE64 }} alias: ${{ secrets.KEY_ALIAS_GITHUB }} keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD_GITHUB }} apkPath: "**/*.apk" env: BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOL_VERSION }} - name: Rename and Prepare APK Files run: | # Copy and rename tempus APKs for file in app/build/outputs/apk/tempus/release/*.apk; do if [[ $file == *"arm64-v8a"* ]]; then cp "$file" "./app-tempus-arm64-v8a-release.apk" echo "Created: app-tempus-arm64-v8a-release.apk" elif [[ $file == *"armeabi-v7a"* ]]; then cp "$file" "./app-tempus-armeabi-v7a-release.apk" echo "Created: app-tempus-armeabi-v7a-release.apk" fi done # Copy and rename degoogled APKs for file in app/build/outputs/apk/degoogled/release/*.apk; do if [[ $file == *"arm64-v8a"* ]]; then cp "$file" "./app-degoogled-arm64-v8a-release.apk" echo "Created: app-degoogled-arm64-v8a-release.apk" elif [[ $file == *"armeabi-v7a"* ]]; then cp "$file" "./app-degoogled-armeabi-v7a-release.apk" echo "Created: app-degoogled-armeabi-v7a-release.apk" fi done # List the created files for verification echo "Final APK files:" ls -la *.apk - name: Create Release id: create_release uses: actions/create-release@v1 with: tag_name: ${{ github.ref }} release_name: Release v${{ github.ref }} body: '> Changelog coming soon' env: GITHUB_TOKEN: ${{ github.token }} - name: Upload Tempus 64-bit Release APK uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ github.token }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./app-tempus-arm64-v8a-release.apk asset_name: app-tempus-arm64-v8a-release.apk asset_content_type: application/vnd.android.package-archive - name: Upload Tempus 32-bit Release APK uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ github.token }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./app-tempus-armeabi-v7a-release.apk asset_name: app-tempus-armeabi-v7a-release.apk asset_content_type: application/vnd.android.package-archive - name: Upload Degoggled 64-bit Release APK uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ github.token }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./app-degoogled-arm64-v8a-release.apk asset_name: app-degoogled-arm64-v8a-release.apk asset_content_type: application/vnd.android.package-archive - name: Upload Degoggled 32-bit Release APK uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ github.token }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: ./app-degoogled-armeabi-v7a-release.apk asset_name: app-degoogled-armeabi-v7a-release.apk asset_content_type: application/vnd.android.package-archive - name: Upload Debug APKs as artifacts uses: actions/upload-artifact@v4 with: name: debug-apks path: | app/build/outputs/apk/tempus/debug/ app/build/outputs/apk/degoogled/debug/ retention-days: 30 - name: Upload Release APKs as artifacts uses: actions/upload-artifact@v4 with: name: release-apks path: | ./app-tempus-arm64-v8a-release.apk ./app-tempus-armeabi-v7a-release.apk ./app-degoogled-arm64-v8a-release.apk ./app-degoogled-armeabi-v7a-release.apk retention-days: 30