1- name : Build & Publish Docker Image
1+ name : Build & Publish Release
22
33on :
44 push :
55 tags :
6- - ' v0.1.5'
7- workflow_dispatch : {}
6+ - ' v*'
87
98env :
109 REGISTRY : ghcr.io
1110 IMAGE_NAME : ${{ github.repository }}
1211
1312jobs :
14- build-and-push :
13+ docker :
14+ name : Docker Image → GHCR
1515 runs-on : ubuntu-latest
1616 permissions :
1717 contents : read
3434 with :
3535 images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
3636 tags : |
37- type=raw,value=v0.1.5
37+ type=ref,event=tag
3838 type=raw,value=latest
3939
4040 - name : Set up Docker Buildx
4747 file : ./server/Dockerfile
4848 push : true
4949 tags : ${{ steps.meta.outputs.tags }}
50- labels : ${{ steps.meta.outputs.labels }}
50+ labels : ${{ steps.meta.outputs.labels }}
51+
52+ apk :
53+ name : Flutter APK → GitHub Release
54+ runs-on : ubuntu-latest
55+ permissions :
56+ contents : write
57+
58+ steps :
59+ - name : Checkout source code
60+ uses : actions/checkout@v4
61+
62+ - name : Set up Java (required for Android builds)
63+ uses : actions/setup-java@v4
64+ with :
65+ distribution : temurin
66+ java-version : ' 17'
67+
68+ - name : Set up Flutter
69+ uses : subosito/flutter-action@v2
70+ with :
71+ flutter-version : ' stable'
72+ cache : true
73+
74+ - name : Install Flutter dependencies
75+ working-directory : mobile
76+ run : flutter pub get
77+
78+ - name : Run Flutter analyze
79+ working-directory : mobile
80+ run : flutter analyze --no-fatal-infos
81+
82+ - name : Build release APK
83+ working-directory : mobile
84+ run : flutter build apk --release
85+
86+ - name : Rename APK with version tag
87+ run : |
88+ mv mobile/build/app/outputs/flutter-apk/app-release.apk \
89+ mobile/build/app/outputs/flutter-apk/elephant-${{ github.ref_name }}.apk
90+
91+ - name : Create or update GitHub Release
92+ uses : softprops/action-gh-release@v2
93+ with :
94+ tag_name : ${{ github.ref_name }}
95+ name : Elephant ${{ github.ref_name }}
96+ draft : false
97+ prerelease : false
98+ generate_release_notes : true
99+ files : mobile/build/app/outputs/flutter-apk/elephant-${{ github.ref_name }}.apk
100+ env :
101+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments