diff --git a/.github/workflows/commit-build.yml b/.github/workflows/commit-build.yml new file mode 100644 index 00000000..78a48eb3 --- /dev/null +++ b/.github/workflows/commit-build.yml @@ -0,0 +1,55 @@ +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.signedReleaseFile}} revanced-manager-${{ env.RELEASE_VERSION }}.apk + - name: Upload APK + uses: actions/upload-artifact@v2 + with: + name: revanced-manager-${{ env.RELEASE_VERSION }} + path: revanced-manager-${{ env.RELEASE_VERSION }}.apk \ No newline at end of file diff --git a/.github/workflows/debug-build.yml b/.github/workflows/pull-request-build.yml similarity index 61% rename from .github/workflows/debug-build.yml rename to .github/workflows/pull-request-build.yml index 00ec27b7..8127f481 100644 --- a/.github/workflows/debug-build.yml +++ b/.github/workflows/pull-request-build.yml @@ -1,17 +1,17 @@ -name: "Debug Build" +name: "Android CI PR Build" on: - push: + pull_request: branches: - - "flutter-disabled" - tags-ignore: - - "*" + - "**" 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: @@ -31,14 +31,11 @@ jobs: - name: Build with Flutter env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: flutter build apk --debug + run: flutter build apk - name: Add version to APK - run: mv build/app/outputs/flutter-apk/app-debug.apk revanced-manager-latest.apk - - name: Publish debug APK - uses: "marvinpinto/action-automatic-releases@latest" + run: mv build/app/outputs/flutter-apk/app-release.apk revanced-manager-${{ env.RELEASE_VERSION }}.apk + - name: Upload APK + uses: actions/upload-artifact@v2 with: - repo_token: "${{ secrets.GITHUB_TOKEN }}" - automatic_release_tag: "latest" - prerelease: true - title: "Development Build" - files: revanced-manager-latest.apk + name: revanced-manager-${{ env.RELEASE_VERSION }} + path: revanced-manager-${{ env.RELEASE_VERSION }}.apk \ No newline at end of file