name: WeatherMaster Signed Release on: workflow_dispatch: push: tags: - "*" jobs: build: runs-on: ubuntu-24.04 env: KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} KEY_ALIAS: ${{ secrets.KEY_ALIAS }} KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} GEO_NAMES_USERNAME: ${{ secrets.GEO_NAMES_USERNAME }} MF_KEY: ${{ secrets.MF_KEY }} steps: - name: Checkout uses: actions/checkout@v4 - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Set up JDK 21 uses: actions/setup-java@v4 with: distribution: temurin java-version: "21.0.7" - name: Setup Android SDK uses: android-actions/setup-android@v3 - name: Decode keystore run: | mkdir keystore echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 -d > keystore/release.jks - name: Verify environment run: | java -version ./gradlew --version - name: Build signed APK run: | ./gradlew \ --no-daemon \ --no-build-cache \ -PGEO_NAMES_USERNAME="${{ secrets.GEO_NAMES_USERNAME }}" \ -PMF_KEY="${{ secrets.MF_KEY }}" \ clean assembleRelease - name: Upload APK uses: actions/upload-artifact@v4 with: name: signed-release-apk path: app/build/outputs/apk/release/*.apk