1- name : Build APK and Update F-Droid Repo
1+ name : Build APK and Update F-Droid Repo on Release
22
33on :
4- push :
5- branches :
6- - main
4+ release :
5+ types : [published]
76
87jobs :
98 build-and-publish :
109 runs-on : ubuntu-latest
1110
11+ env :
12+ RELEASE_TAG : ${{ github.ref_name }}
13+
1214 steps :
1315 - name : Checkout code
1416 uses : actions/checkout@v3
2527 - name : Build Release APK
2628 run : ./gradlew assembleRelease
2729
30+ - name : Upload APK to Release
31+ uses : actions/upload-release-asset@v1
32+ with :
33+ upload_url : ${{ github.event.release.upload_url }}
34+ asset_path : app/build/outputs/apk/release/app-release-unsigned.apk
35+ asset_name : offsocial-${{ env.RELEASE_TAG }}.apk
36+ asset_content_type : application/vnd.android.package-archive
37+
38+ - name : Generate F-Droid metadata file dynamically
39+ run : |
40+ mkdir -p repo/metadata
41+ cp app/build/outputs/apk/release/app-release-unsigned.apk repo/
42+ cp metadata/com.gerardPolloRebozado.offsocial.yml repo/metadata/
43+
2844 - name : Set up Python and install fdroidserver
2945 uses : actions/setup-python@v4
3046 with :
@@ -35,12 +51,11 @@ jobs:
3551 - name : Prepare repo files
3652 run : |
3753 mkdir repo
38- cp app/build/outputs/apk/release/app-release.apk repo/
39- mkdir -p metadata
40- cp metadata/com.yourdomain.offsocial.yml metadata/
54+ cp app/build/outputs/apk/release/app-release-unsigned.apk repo/offsocial-${{ env.RELEASE_TAG }}.apk
55+ cp -r metadata repo/
4156
4257 - name : Generate F-Droid index.xml
43- run : fdroid update --create-metadata --metadata-dir=metadata --output=repo/index.xml repo
58+ run : fdroid update --create-metadata --metadata-dir=repo/ metadata --output=repo/index.xml repo
4459
4560 - name : Configure git for push
4661 run : |
5368 git rm -rf .
5469 cp -r repo/* .
5570 git add .
56- git commit -m "Update F-Droid repo with new APK and metadata "
71+ git commit -m "Update F-Droid repo for release ${{ env.RELEASE_TAG }} "
5772 git push -f origin gh-pages
58- env :
59- # Use the default GITHUB_TOKEN to push back to repo
60- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments