name: "Android CI Actions" on: push: branches: - "**" tags-ignore: - "v*" # Ignore tags that start with "v" (e.g. v1.0.0) because they are handled by release-build.yml jobs: release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set env run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV - name: Set up JDK 12 uses: actions/setup-java@v3 with: java-version: '12' distribution: 'zulu' - uses: subosito/flutter-action@v2 with: channel: 'stable' - name: Set environment variables run: echo $SECRETS | base64 -d > lib/utils/environment.dart env: SECRETS: ${{ secrets.SECRETS }} - name: Set up Flutter run: flutter pub get - name: Generate files with Builder run: flutter packages pub run build_runner build --delete-conflicting-outputs - name: Build with Flutter env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }} SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }} SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_KEYSTORE_PASSWORD }} run: flutter build apk - name: Sign APK id: sign_apk uses: ilharp/sign-android-release@v1 with: releaseDir: build/app/outputs/apk/release signingKey: ${{ secrets.SIGNING_KEYSTORE }} keyStorePassword: ${{ secrets.SIGNING_KEYSTORE_PASSWORD }} keyAlias: ${{ secrets.SIGNING_KEY_ALIAS }} keyPassword: ${{ secrets.SIGNING_KEY_PASSWORD }} - name: Add version to APK run: mv ${{ steps.sign_apk.outputs.signedFile }} revanced-manager-${{ env.RELEASE_VERSION }}.apk - name: Upload APK uses: actions/upload-artifact@v3 with: name: revanced-manager-${{ env.RELEASE_VERSION }} path: revanced-manager-${{ env.RELEASE_VERSION }}.apk