154 lines (153 loc) · 4.27 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
name: Build
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: "3.10.5"
channel: "stable"
cache: true
- name: Minify the json file of CAP exam data
run: |
cd ./assets
python3 minify_cap_exam_data.py
- name: Build Android
run: |
flutter pub get
flutter build apk --release
flutter build appbundle --release
- name: Upload APK
uses: actions/upload-artifact@v3
with:
name: Android APK
path: ./build/app/outputs/flutter-apk/app-release.apk
- name: Upload AAB
uses: actions/upload-artifact@v3
with:
name: Android AAB
path: ./build/app/outputs/bundle/release/app-release.aab
ios:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: "3.10.5"
channel: "stable"
cache: true
- name: Minify the json file of CAP exam data
run: |
cd ./assets
python3 minify_cap_exam_data.py
- name: Build iOS
run: |
flutter pub get
flutter build ios --release --no-codesign
- name: Upload IPA
uses: actions/upload-artifact@v3
with:
name: iOS
path: ./build/ios/iphoneos/Runner.app
web:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: "3.10.5"
channel: "stable"
cache: true
- name: Minify the json file of CAP exam data
run: |
cd ./assets
python3 minify_cap_exam_data.py
- name: Build Web
run: |
flutter pub get
flutter build web --release
- name: Upload Web
uses: actions/upload-artifact@v3
with:
name: Web
path: ./build/web
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: "3.10.5"
channel: "stable"
cache: true
- name: Minify the json file of CAP exam data
run: |
cd ./assets
python3 minify_cap_exam_data.py
- name: Build Windows
run: |
flutter pub get
flutter build windows --release
- name: Upload Windows
uses: actions/upload-artifact@v3
with:
name: Windows
path: ./build/windows/runner/Release
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: "3.10.5"
channel: "stable"
cache: true
- name: Install Dependencies
# https://github.com/bluefireteam/audioplayers/blob/main/packages/audioplayers_linux/setup.md
run: |
sudo apt-get update
sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev
sudo apt-get install libunwind-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
- name: Minify the json file of CAP exam data
run: |
cd ./assets
python3 minify_cap_exam_data.py
- name: Build Linux
run: |
flutter pub get
flutter build linux --release
- name: Upload Linux
uses: actions/upload-artifact@v3
with:
name: Linux
path: ./build/linux/x64/release/bundle
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: "3.10.5"
channel: "stable"
cache: true
- name: Minify the json file of CAP exam data
run: |
cd ./assets
python3 minify_cap_exam_data.py
- name: Build macOS
run: |
flutter pub get
flutter build macos --release
- name: Upload macOS
uses: actions/upload-artifact@v3
with:
name: macOS
path: ./build/macos/Build/Products/Release