-
-
Notifications
You must be signed in to change notification settings - Fork 1
186 lines (149 loc) · 4.9 KB
/
Copy pathbuild.yml
File metadata and controls
186 lines (149 loc) · 4.9 KB
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
name: build
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
build_ios:
runs-on: macos-15
steps:
- name: Set xcode version
run: sudo xcode-select -s "/Applications/Xcode_16.app"
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.x'
channel: 'stable'
cache: true
cache-key: flutter_mac
cache-path: ${{ runner.tool_cache }}/flutter_mac
pub-cache-key: flutter_mac_pubcache
pub-cache-path: ${{ runner.tool_cache }}/flutter_mac_pubcache
- name: Install dependencies
run: flutter pub get
- name: build ipa
run: flutter build ios -v --flavor prod --release --no-codesign
- name: mkdir payload and copy .app to Payload/
run: |
mkdir Payload
cp -r build/ios/iphoneos/FileTrucker.app Payload/
- name: Compress to zip(ipa)
run: zip -r app-release.ipa Payload
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ios
path: app-release.ipa
build_android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.x'
channel: 'stable'
cache: true
cache-key: flutter_linux
cache-path: ${{ runner.tool_cache }}/flutter_linux
pub-cache-key: flutter_linux_pubcache
pub-cache-path: ${{ runner.tool_cache }}/flutter_linux_pubcache
- name: Install dependencies
run: flutter pub get
- name: build apk
run: flutter build apk -v --flavor prod --release
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: android
path: build/app/outputs/flutter-apk/app-prod-release.apk
build_macos:
runs-on: macos-15
steps:
- name: Set xcode version
run: sudo xcode-select -s "/Applications/Xcode_16.app"
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.x'
channel: 'stable'
cache: true
cache-key: flutter_mac
cache-path: ${{ runner.tool_cache }}/flutter_mac
pub-cache-key: flutter_mac_pubcache
pub-cache-path: ${{ runner.tool_cache }}/flutter_mac_pubcache
- name: Install dependencies
run: |
flutter config --enable-macos-desktop
flutter pub get
- name: build app
run: |
flutter build macos -v --flavor prod --release
mkdir output
cd build/macos/Build/Products/Release-prod/
cp -r FileTrucker.app ../../../../../output/
cd ../../../../../
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: macos-universal
path: output
build_windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.x'
channel: 'stable'
cache: true
cache-key: flutter_win
cache-path: ${{ runner.tool_cache }}/flutter_win
pub-cache-key: flutter_win_pubcache
pub-cache-path: ${{ runner.tool_cache }}/flutter_win_pubcache
- uses: crazy-max/ghaction-chocolatey@v3
with:
args: install minisign -y
- uses: ilammy/setup-nasm@v1
- name: Install dependencies
run: |
flutter config --enable-windows-desktop
flutter pub get
- name: build
run: flutter build windows -v --release
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: windows-x64
path: build\windows\x64\runner\Release
build_linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
flutter-version: '3.x'
channel: 'stable'
cache: true
cache-key: flutter_linux
cache-path: ${{ runner.tool_cache }}/flutter_linux
pub-cache-key: flutter_linux_pubcache
pub-cache-path: ${{ runner.tool_cache }}/flutter_linux_pubcache
- name: Install dependencies
run: |
sudo apt update -y
sudo apt install -y ninja-build libgtk-3-dev libsodium-dev
flutter config --enable-linux-desktop
flutter pub get
- name: build bundle
run: flutter build linux -v --release
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: linux-x64
path: build/linux/x64/release/bundle