1212 name : Release
1313 permissions :
1414 contents : write
15+ packages : write
1516 id-token : write
1617 attestations : write
1718 runs-on : ubuntu-latest
@@ -25,51 +26,55 @@ jobs:
2526 distribution : ' temurin'
2627 java-version : ' 17'
2728
29+ - name : Cache Gradle
30+ uses : burrunan/gradle-cache-action@v3
31+
32+ - name : Build
33+ env :
34+ GITHUB_ACTOR : ${{ github.actor }}
35+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
36+ run : ./gradlew assembleRelease
37+
2838 - name : Setup Node.js
2939 uses : actions/setup-node@v4
3040 with :
3141 node-version : " lts/*"
3242 cache : ' npm'
3343
34- - name : Set up Flutter
35- uses : subosito/flutter-action@v2
36- with :
37- channel : stable
38- flutter-version : 3.29.x
39- cache : true
40-
41- - name : Cache Gradle
42- uses : burrunan/gradle-cache-action@v3
43- with :
44- build-root-directory : ${{ github.workspace }}/android
45-
4644 - name : Install dependencies
47- run : npm i
48-
49- - name : Get dependencies
50- run : flutter pub get
45+ run : npm ci
5146
52- - name : Generate translations
53- run : dart run slang
54-
55- - name : Generate code files
56- run : dart run build_runner build --delete-conflicting-outputs
47+ - name : Import GPG key
48+ uses : crazy-max/ghaction-import-gpg@v6
49+ with :
50+ gpg_private_key : ${{ secrets.GPG_PRIVATE_KEY }}
51+ passphrase : ${{ secrets.GPG_PASSPHRASE }}
52+ fingerprint : ${{ vars.GPG_FINGERPRINT }}
5753
5854 - name : Setup keystore
5955 run : |
60- echo "${{ secrets.KEYSTORE }}" | base64 --decode > "android/ app/keystore.jks"
56+ echo "${{ secrets.KEYSTORE }}" | base64 --decode > "app/keystore.jks"
6157
62- - name : Semantic Release
63- uses : cycjimmy/semantic-release-action@v4
64- id : semantic
58+ - name : Release API
59+ run : npx multi-semantic-release --tag-format 'api@${version}' --ignore-packages app
6560 env :
61+ GITHUB_ACTOR : ${{ github.actor }}
62+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
63+
64+ - name : Release
65+ id : release
66+ run : |
67+ echo "NEW_TAG=$(npx multi-semantic-release --tag-format 'v${version}' --ignore-packages api | tee | grep 'Created tag ' | sed -E 's/.*Created tag ([^ ]+).*/\1/')" >> $GITHUB_OUTPUT
68+ env :
69+ GITHUB_ACTOR : ${{ github.actor }}
6670 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
6771 KEYSTORE_PASSWORD : ${{ secrets.KEYSTORE_PASSWORD }}
6872 KEYSTORE_ENTRY_ALIAS : ${{ secrets.KEYSTORE_ENTRY_ALIAS }}
6973 KEYSTORE_ENTRY_PASSWORD : ${{ secrets.KEYSTORE_ENTRY_PASSWORD }}
70-
74+
7175 - name : Attest
72- if : steps.semantic .outputs.new_release_published == 'true '
76+ if : steps.release .outputs.NEW_TAG != ' '
7377 uses : actions/attest-build-provenance@v2
7478 with :
75- subject-path : build/app/outputs/apk/release/revanced-manager-*.apk
79+ subject-name : ' ReVanced Manager ${{ steps.release.outputs.NEW_TAG }}'
80+ subject-path : app/build/outputs/apk/release/revanced-manager*.apk
0 commit comments