Skip to content

Commit 4c81177

Browse files
committed
2 parents ee281ba + 375366c commit 4c81177

File tree

1 file changed

+49
-33
lines changed

1 file changed

+49
-33
lines changed

.github/workflows/main.yml

Lines changed: 49 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,65 @@
1+
name: Flutter Build
2+
13
on:
2-
pull_request:
3-
branches:
4-
- main
5-
- master
64
push:
7-
branches:
8-
- main
9-
- master
10-
- develop
11-
name: "Build & Release"
5+
branches: [ "main" ]
6+
pull_request:
7+
branches: [ "main" ]
8+
129
jobs:
1310
build:
14-
name: Build & Release
11+
name: Build APK and IPA
12+
# macOS is required to build iOS apps
1513
runs-on: macos-latest
14+
1615
steps:
17-
- uses: actions/checkout@v3
18-
- uses: actions/setup-java@v3
16+
# 1. Checkout the repository
17+
- name: Checkout code
18+
uses: actions/checkout@v4
19+
20+
# 2. Set up Java for Android build
21+
- name: Set up Java
22+
uses: actions/setup-java@v4
1923
with:
2024
distribution: 'zulu'
21-
java-version: '12'
22-
- uses: subosito/flutter-action@v2
25+
java-version: '17'
26+
27+
# 3. Set up Flutter
28+
- name: Set up Flutter
29+
uses: subosito/flutter-action@v2
2330
with:
31+
flutter-version: '3.38.4' # Or your specific version
2432
channel: 'stable'
25-
architecture: x64
26-
27-
- run: flutter build apk --release --split-per-abi
28-
- run: |
29-
flutter build ios --no-codesign
30-
cd build/ios/iphoneos
31-
mkdir Payload
32-
cd Payload
33-
ln -s ../Runner.app
34-
cd ..
35-
zip -r app.ipa Payload
36-
- name: Push to Releases
37-
uses: ncipollo/release-action@v1
38-
with:
39-
artifacts: "build/app/outputs/apk/release/*,build/ios/iphoneos/app.ipa"
40-
tag: v1.0.${{ github.run_number }}
41-
token: ${{ secrets.TOKEN }}
33+
cache: true
4234

35+
# 4. Install dependencies
36+
- name: Install dependencies
37+
run: flutter pub get
4338

39+
# 5. Run static analysis (Optional but recommended)
40+
- name: Analyze code
41+
run: flutter analyze
4442

43+
# 6. Build Android APK
44+
- name: Build Android APK
45+
run: flutter build apk --release
4546

47+
# 7. Build iOS (No-codesign for testing)
48+
# Note: Building for iOS on CI usually requires --no-codesign
49+
# unless you have uploaded p12/mobileprovision files.
50+
- name: Build iOS IPA
51+
run: flutter build ios --release --no-codesign
4652

53+
# 8. Upload Android Artifact
54+
- name: Upload APK
55+
uses: actions/upload-artifact@v4
56+
with:
57+
name: release-apk
58+
path: build/app/outputs/flutter-apk/app-release.apk
4759

48-
# push to master, main, develop
49-
# pull request on main master
60+
# 9. Upload iOS Artifact
61+
- name: Upload iOS Build
62+
uses: actions/upload-artifact@v4
63+
with:
64+
name: release-ios
65+
path: build/ios/iphoneos/Runner.app

0 commit comments

Comments
 (0)