|
4 | 4 | workflow_dispatch: |
5 | 5 | push: |
6 | 6 | tags: |
7 | | - - 'v*' |
| 7 | + - 'android-*' |
8 | 8 |
|
9 | 9 | permissions: |
10 | 10 | contents: write |
@@ -38,36 +38,47 @@ jobs: |
38 | 38 | - name: Build split APKs |
39 | 39 | run: flutter build apk --release --split-per-abi |
40 | 40 |
|
| 41 | + - name: Validate Android tag format |
| 42 | + run: | |
| 43 | + TAG="${GITHUB_REF_NAME}" |
| 44 | + if [[ ! "${TAG}" =~ ^android-[0-9]+\.[0-9]+\.[0-9]+$ ]]; then |
| 45 | + echo "Invalid Android tag format: ${TAG}" |
| 46 | + echo "Use: android-x.y.z (example: android-2.2.4)" |
| 47 | + exit 1 |
| 48 | + fi |
| 49 | + echo "ANDROID_VERSION=${TAG#android-}" >> "$GITHUB_ENV" |
| 50 | +
|
41 | 51 | - name: Rename APKs |
42 | 52 | run: | |
43 | | - TAG=${GITHUB_REF_NAME} |
| 53 | + VERSION=${ANDROID_VERSION} |
| 54 | + PREFIX=Focus-android-${VERSION} |
44 | 55 | UNIVERSAL=build/app/outputs/flutter-apk/app-release-unsigned.apk |
45 | 56 | if [ -f "build/app/outputs/flutter-apk/app-release.apk" ]; then |
46 | 57 | UNIVERSAL=build/app/outputs/flutter-apk/app-release.apk |
47 | 58 | fi |
48 | 59 | mv "${UNIVERSAL}" \ |
49 | | - build/app/outputs/flutter-apk/Focus-${TAG}-universal.apk |
| 60 | + build/app/outputs/flutter-apk/${PREFIX}-universal.apk |
50 | 61 | ARM64=build/app/outputs/flutter-apk/app-arm64-v8a-release-unsigned.apk |
51 | 62 | if [ -f "build/app/outputs/flutter-apk/app-arm64-v8a-release.apk" ]; then |
52 | 63 | ARM64=build/app/outputs/flutter-apk/app-arm64-v8a-release.apk |
53 | 64 | fi |
54 | 65 | mv "${ARM64}" \ |
55 | | - build/app/outputs/flutter-apk/Focus-${TAG}-arm64-v8a.apk |
| 66 | + build/app/outputs/flutter-apk/${PREFIX}-arm64-v8a.apk |
56 | 67 | ARMEABI=build/app/outputs/flutter-apk/app-armeabi-v7a-release-unsigned.apk |
57 | 68 | if [ -f "build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk" ]; then |
58 | 69 | ARMEABI=build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk |
59 | 70 | fi |
60 | 71 | mv "${ARMEABI}" \ |
61 | | - build/app/outputs/flutter-apk/Focus-${TAG}-armeabi-v7a.apk |
| 72 | + build/app/outputs/flutter-apk/${PREFIX}-armeabi-v7a.apk |
62 | 73 |
|
63 | 74 | - name: Create GitHub Release |
64 | 75 | uses: softprops/action-gh-release@v2 |
65 | 76 | with: |
66 | | - name: "Focus ${{ github.ref_name }}" |
| 77 | + name: "Focus Android v${{ env.ANDROID_VERSION }}" |
67 | 78 | body_path: RELEASE_NOTES.md |
68 | 79 | draft: false |
69 | 80 | prerelease: false |
70 | 81 | files: | |
71 | | - build/app/outputs/flutter-apk/Focus-${{ github.ref_name }}-universal.apk |
72 | | - build/app/outputs/flutter-apk/Focus-${{ github.ref_name }}-arm64-v8a.apk |
73 | | - build/app/outputs/flutter-apk/Focus-${{ github.ref_name }}-armeabi-v7a.apk |
| 82 | + build/app/outputs/flutter-apk/Focus-android-${{ env.ANDROID_VERSION }}-universal.apk |
| 83 | + build/app/outputs/flutter-apk/Focus-android-${{ env.ANDROID_VERSION }}-arm64-v8a.apk |
| 84 | + build/app/outputs/flutter-apk/Focus-android-${{ env.ANDROID_VERSION }}-armeabi-v7a.apk |
0 commit comments