@@ -15,229 +15,141 @@ env:
1515 IPAD_DEVICE_MODEL : iPad Pro 13-inch (M4)
1616
1717jobs :
18- changes :
19- name : Detect Changes
20- runs-on : ubuntu-latest
21- outputs :
22- is_code : ${{ steps.check.outputs.is_code }}
23- steps :
24- - uses : actions/checkout@v6
25- with :
26- fetch-depth : 0
27-
28- - id : check
29- run : |
30- # Diff the actual commit SHAs.
31- # grep -vE removes your media/doc extensions. grep -v removes the docs folder.
32- # If anything is left over, it's code. If the output is empty, it's just docs.
33- if git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} | grep -vE '\.(md|png|jpg|jpeg|gif|svg|webp|txt|arb)$' | grep -v '^docs/'; then
34- echo "is_code=true" >> $GITHUB_OUTPUT
35- else
36- echo "is_code=false" >> $GITHUB_OUTPUT
37- fi
38-
3918 common :
4019 name : Common Build
41- needs : changes
4220 runs-on : ubuntu-latest
4321 steps :
44- - uses : actions/checkout@v6
45- if : needs.changes.outputs.is_code == 'true'
22+ - uses : actions/checkout@v4
4623
4724 - name : Common Workflow
48- if : needs.changes.outputs.is_code == 'true'
4925 uses : ./.github/actions/common
5026
5127 - name : Save PR number
52- if : needs.changes.outputs.is_code == 'true'
5328 run : |
5429 mkdir -p ./pr
5530 echo ${{ github.event.number }} > ./pr/NR
5631
57- - uses : actions/upload-artifact@v7
58- if : needs.changes.outputs.is_code == 'true'
32+ - uses : actions/upload-artifact@v4
5933 with :
6034 name : pr
6135 path : pr/
6236
63- - name : Non-Code Change
64- if : needs.changes.outputs.is_code != 'true'
65- run : echo "Non-code change detected."
66-
6737 android :
6838 name : Android Flutter Build
69- needs : [changes, common]
39+ needs : common
7040 runs-on : ubuntu-latest
7141 steps :
72- - uses : actions/checkout@v6
73- if : needs.changes.outputs.is_code == 'true'
42+ - uses : actions/checkout@v4
7443
7544 - name : Android Workflow
76- if : needs.changes.outputs.is_code == 'true'
7745 uses : ./.github/actions/android
7846
79- - name : Non-Code Change
80- if : needs.changes.outputs.is_code != 'true'
81- run : echo "Non-code change detected."
82-
8347 ios :
8448 name : iOS Flutter Build
85- needs : [changes, common]
86- runs-on : ${{ needs.changes.outputs.is_code == 'true' && ' macos-latest' || 'ubuntu-latest' }}
49+ needs : common
50+ runs-on : macos-latest
8751 steps :
8852 - name : Set up Xcode
89- if : needs.changes.outputs.is_code == 'true'
90- uses : maxim-lobanov/setup-xcode@v1.7.0
53+ uses : maxim-lobanov/setup-xcode@v1.6.0
9154 with :
9255 xcode-version : ' 16.4.0'
9356
94- - uses : actions/checkout@v6
95- if : needs.changes.outputs.is_code == 'true'
57+ - uses : actions/checkout@v4
9658
9759 - name : iOS Workflow
98- if : needs.changes.outputs.is_code == 'true'
9960 uses : ./.github/actions/ios
10061
101- - name : Non-Code Change
102- if : needs.changes.outputs.is_code != 'true'
103- run : echo "Non-code change detected."
104-
10562 screenshots-android :
10663 name : Screenshots (Android)
107- needs : changes
64+ needs : [ changes, common]
10865 runs-on : ubuntu-latest
10966 timeout-minutes : 30
11067 steps :
111- - uses : actions/checkout@v6
112- if : needs.changes.outputs.is_code == 'true'
68+ - uses : actions/checkout@v4
11369
11470 - name : Android Screenshot Workflow
115- if : needs.changes.outputs.is_code == 'true'
11671 uses : ./.github/actions/screenshot-android
11772 with :
11873 ANDROID_EMULATOR_API : ${{ env.ANDROID_EMULATOR_API }}
11974 ANDROID_EMULATOR_ARCH : ${{ env.ANDROID_EMULATOR_ARCH }}
12075
121- - name : Non-Code Change
122- if : needs.changes.outputs.is_code != 'true'
123- run : echo "Non-code change detected."
124-
12576 screenshots-iphone :
12677 name : Screenshots (iPhone)
127- needs : changes
128- runs-on : ${{ needs.changes.outputs.is_code == 'true' && ' macos-latest' || 'ubuntu-latest' }}
78+ needs : [ changes, common]
79+ runs-on : macos-latest
12980 timeout-minutes : 30
13081 steps :
13182 - name : Set up Xcode
132- if : needs.changes.outputs.is_code == 'true'
133- uses : maxim-lobanov/setup-xcode@v1.7.0
83+ uses : maxim-lobanov/setup-xcode@v1.6.0
13484 with :
13585 xcode-version : ' 16.4.0'
13686
137- - uses : actions/checkout@v6
138- if : needs.changes.outputs.is_code == 'true'
87+ - uses : actions/checkout@v4
13988
14089 - name : iPhone Screenshot Workflow
141- if : needs.changes.outputs.is_code == 'true'
14290 uses : ./.github/actions/screenshot-iphone
14391 with :
14492 IPHONE_DEVICE_MODEL : ${{ env.IPHONE_DEVICE_MODEL }}
145-
146- - name : Non-Code Change
147- if : needs.changes.outputs.is_code != 'true'
148- run : echo "Non-code change detected."
149-
93+
15094 screenshots-ipad :
15195 name : Screenshots (iPad)
152- needs : changes
153- runs-on : ${{ needs.changes.outputs.is_code == 'true' && ' macos-latest' || 'ubuntu-latest' }}
96+ needs : [ changes, common]
97+ runs-on : macos-latest
15498 timeout-minutes : 30
15599 steps :
156100 - name : Set up Xcode
157- if : needs.changes.outputs.is_code == 'true'
158- uses : maxim-lobanov/setup-xcode@v1.7.0
101+ uses : maxim-lobanov/setup-xcode@v1.6.0
159102 with :
160103 xcode-version : ' 16.4.0'
161104
162- - uses : actions/checkout@v6
163- if : needs.changes.outputs.is_code == 'true'
105+ - uses : actions/checkout@v4
164106
165107 - name : iPad Screenshot Workflow
166- if : needs.changes.outputs.is_code == 'true'
167108 uses : ./.github/actions/screenshot-ipad
168109 with :
169110 IPAD_DEVICE_MODEL : ${{ env.IPAD_DEVICE_MODEL }}
170-
171- - name : Non-Code Change
172- if : needs.changes.outputs.is_code != 'true'
173- run : echo "Non-code change detected."
174-
111+
175112 windows :
176113 name : Windows Flutter Build
177- needs : [changes, common]
178- runs-on : ${{ needs.changes.outputs.is_code == 'true' && ' windows-latest' || 'ubuntu-latest' }}
114+ needs : common
115+ runs-on : windows-latest
179116 steps :
180- - uses : actions/checkout@v6
181- if : needs.changes.outputs.is_code == 'true'
117+ - uses : actions/checkout@v4
182118
183119 - name : Windows Workflow
184- if : needs.changes.outputs.is_code == 'true'
185120 uses : ./.github/actions/windows
186-
187- - name : Non-Code Change
188- if : needs.changes.outputs.is_code != 'true'
189- run : echo "Non-code change detected."
190-
121+
191122 linux :
192123 name : Linux Flutter Build
193- needs : [changes, common]
124+ needs : common
194125 runs-on : ubuntu-latest
195126 steps :
196- - uses : actions/checkout@v6
197- if : needs.changes.outputs.is_code == 'true'
127+ - uses : actions/checkout@v4
198128
199129 - name : Linux Workflow
200- if : needs.changes.outputs.is_code == 'true'
201130 uses : ./.github/actions/linux
202131
203- - name : Non-Code Change
204- if : needs.changes.outputs.is_code != 'true'
205- run : echo "Non-code change detected."
206-
207132 linux-arm64 :
208133 name : Linux ARM64 Flutter Build
209- needs : [changes, common]
210- runs-on : ${{ needs.changes.outputs.is_code == 'true' && ' ubuntu-24.04-arm' || 'ubuntu-latest' }}
134+ needs : common
135+ runs-on : ubuntu-24.04-arm
211136 steps :
212- - uses : actions/checkout@v6
213- if : needs.changes.outputs.is_code == 'true'
137+ - uses : actions/checkout@v4
214138
215139 - name : Linux ARM64 Workflow
216- if : needs.changes.outputs.is_code == 'true'
217140 uses : ./.github/actions/linux-arm64
218141
219- - name : Non-Code Change
220- if : needs.changes.outputs.is_code != 'true'
221- run : echo "Non-code change detected."
222-
223142 macos :
224143 name : macOS Flutter Build
225- needs : [changes, common]
226- runs-on : ${{ needs.changes.outputs.is_code == 'true' && ' macos-latest' || 'ubuntu-latest' }}
144+ needs : common
145+ runs-on : macos-latest
227146 steps :
228147 - name : Set up Xcode
229- if : needs.changes.outputs.is_code == 'true'
230- uses : maxim-lobanov/setup-xcode@v1.7.0
148+ uses : maxim-lobanov/setup-xcode@v1.6.0
231149 with :
232150 xcode-version : ' 16.4.0'
233151
234- - uses : actions/checkout@v6
235- if : needs.changes.outputs.is_code == 'true'
152+ - uses : actions/checkout@v4
236153
237154 - name : macOS Workflow
238- if : needs.changes.outputs.is_code == 'true'
239- uses : ./.github/actions/macos
240-
241- - name : Non-Code Change
242- if : needs.changes.outputs.is_code != 'true'
243- run : echo "Non-code change detected."
155+ uses : ./.github/actions/macos
0 commit comments