Skip to content

Commit 12b962f

Browse files
Add Flutter dependency caching to CI workflows
Co-authored-by: clinchmtnmojo <clinchmtnmojo@gmail.com>
1 parent b9b2c8c commit 12b962f

File tree

2 files changed

+92
-0
lines changed

2 files changed

+92
-0
lines changed

.github/workflows/android-release.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,11 @@ jobs:
6161
with:
6262
flutter-version: ${{ env.FLUTTER_VERSION }}
6363
channel: 'stable'
64+
cache: true
6465

6566
- name: Enable Android support
6667
run: flutter config --enable-android
68+
continue-on-error: false
6769

6870
- name: Download xfg-stark-cli
6971
run: |
@@ -73,6 +75,18 @@ jobs:
7375
mv xfg-stark-cli-linux assets/bin/
7476
continue-on-error: false
7577

78+
- name: Cache Flutter dependencies
79+
uses: actions/cache@v4
80+
with:
81+
path: |
82+
~/.pub-cache
83+
**/.packages
84+
**/.flutter-plugins
85+
**/.flutter-plugins-dependencies
86+
key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.lock') }}
87+
restore-keys: |
88+
${{ runner.os }}-flutter-
89+
7690
- name: Install dependencies
7791
run: flutter pub get
7892
continue-on-error: false
@@ -93,24 +107,28 @@ jobs:
93107
echo "storePassword=${{ secrets.ANDROID_STORE_PASSWORD }}" >> android/key.properties
94108
echo "keyAlias=${{ secrets.ANDROID_KEY_ALIAS }}" >> android/key.properties
95109
echo "keyPassword=${{ secrets.ANDROID_KEY_PASSWORD }}" >> android/key.properties
110+
continue-on-error: false
96111

97112
- name: Build APK (Debug)
98113
if: github.event_name == 'pull_request' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'debug')
99114
run: flutter build apk --debug
115+
continue-on-error: false
100116

101117
- name: Build APK (Release)
102118
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release')
103119
run: |
104120
cd android
105121
./gradlew assembleRelease
106122
cd ..
123+
continue-on-error: false
107124

108125
- name: Build AAB (Release)
109126
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release')
110127
run: |
111128
cd android
112129
./gradlew bundleRelease
113130
cd ..
131+
continue-on-error: false
114132

115133
- name: Sign APK with apksigner
116134
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release')
@@ -123,11 +141,13 @@ jobs:
123141
--key-pass pass:${{ secrets.ANDROID_KEY_PASSWORD }} \
124142
--out build/app/outputs/flutter-apk/app-release-signed.apk \
125143
build/app/outputs/flutter-apk/app-release.apk
144+
continue-on-error: false
126145

127146
- name: Verify APK signature
128147
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release')
129148
run: |
130149
$ANDROID_HOME/build-tools/34.0.0/apksigner verify build/app/outputs/flutter-apk/app-release-signed.apk
150+
continue-on-error: false
131151

132152
- name: Create APK archive
133153
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release')
@@ -139,13 +159,15 @@ jobs:
139159
cp app-release.apk XF₲-Wallet-Android-Release.apk
140160
fi
141161
zip -r XF₲-Wallet-Android-Release.zip XF₲-Wallet-Android-Release.apk
162+
continue-on-error: false
142163

143164
- name: Create AAB archive
144165
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release')
145166
run: |
146167
cd build/app/outputs/bundle/release
147168
cp app-release.aab XF₲-Wallet-Android-Release.aab
148169
zip -r XF₲-Wallet-Android-Release-AAB.zip XF₲-Wallet-Android-Release.aab
170+
continue-on-error: false
149171

150172
- name: Upload APK artifacts
151173
uses: actions/upload-artifact@v4

.github/workflows/flutter-desktop.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,11 @@ jobs:
4343
with:
4444
flutter-version: '3.27.0'
4545
channel: 'stable'
46+
cache: true
4647

4748
- name: Enable macOS desktop support
4849
run: flutter config --enable-macos-desktop
50+
continue-on-error: false
4951

5052
- name: Download xfg-stark-cli
5153
run: |
@@ -55,6 +57,18 @@ jobs:
5557
mv xfg-stark-cli-macos assets/bin/
5658
continue-on-error: false
5759

60+
- name: Cache Flutter dependencies
61+
uses: actions/cache@v4
62+
with:
63+
path: |
64+
~/.pub-cache
65+
**/.packages
66+
**/.flutter-plugins
67+
**/.flutter-plugins-dependencies
68+
key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.lock') }}
69+
restore-keys: |
70+
${{ runner.os }}-flutter-
71+
5872
- name: Install dependencies
5973
run: flutter pub get
6074
continue-on-error: false
@@ -69,6 +83,9 @@ jobs:
6983
cd build/macos/Build/Products/Release
7084
zip -r Fuego-Wallet-macOS.zip "fuego_wallet.app"
7185
continue-on-error: false
86+
continue-on-error: false
87+
continue-on-error: false
88+
continue-on-error: false
7289

7390
- name: Upload build artifacts
7491
uses: actions/upload-artifact@v4
@@ -98,9 +115,11 @@ jobs:
98115
with:
99116
flutter-version: '3.27.0'
100117
channel: 'stable'
118+
cache: true
101119

102120
- name: Enable Windows desktop support
103121
run: flutter config --enable-windows-desktop
122+
continue-on-error: false
104123

105124
- name: Download xfg-stark-cli
106125
run: |
@@ -109,6 +128,18 @@ jobs:
109128
Move-Item xfg-stark-cli-windows.exe assets\bin\xfg-stark-cli.exe
110129
continue-on-error: false
111130

131+
- name: Cache Flutter dependencies
132+
uses: actions/cache@v4
133+
with:
134+
path: |
135+
~/.pub-cache
136+
**/.packages
137+
**/.flutter-plugins
138+
**/.flutter-plugins-dependencies
139+
key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.lock') }}
140+
restore-keys: |
141+
${{ runner.os }}-flutter-
142+
112143
- name: Install dependencies
113144
run: flutter pub get
114145
continue-on-error: false
@@ -129,6 +160,9 @@ jobs:
129160
Get-ChildItem build -Recurse | Where-Object { $_.Name -like "*.exe" } | Select-Object -First 1 | ForEach-Object { Compress-Archive -Path $_.DirectoryName -DestinationPath "Fuego-Wallet-Windows.zip" }
130161
}
131162
continue-on-error: false
163+
continue-on-error: false
164+
continue-on-error: false
165+
continue-on-error: false
132166

133167
- name: Upload build artifacts
134168
uses: actions/upload-artifact@v4
@@ -158,6 +192,7 @@ jobs:
158192
with:
159193
flutter-version: '3.27.0'
160194
channel: 'stable'
195+
cache: true
161196

162197
- name: Download xfg-stark-cli
163198
run: |
@@ -172,6 +207,19 @@ jobs:
172207
sudo apt-get update
173208
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libsecret-1-dev
174209
flutter config --enable-linux-desktop
210+
continue-on-error: false
211+
212+
- name: Cache Flutter dependencies
213+
uses: actions/cache@v4
214+
with:
215+
path: |
216+
~/.pub-cache
217+
**/.packages
218+
**/.flutter-plugins
219+
**/.flutter-plugins-dependencies
220+
key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.lock') }}
221+
restore-keys: |
222+
${{ runner.os }}-flutter-
175223
176224
- name: Install dependencies
177225
run: flutter pub get
@@ -199,6 +247,10 @@ jobs:
199247
run: |
200248
cd build/linux/x64/release/bundle
201249
tar -czf XF₲-Wallet-Linux-GLIBC-2.31.tar.gz *
250+
continue-on-error: false
251+
continue-on-error: false
252+
continue-on-error: false
253+
continue-on-error: false
202254

203255
- name: Upload build artifacts
204256
uses: actions/upload-artifact@v4
@@ -267,6 +319,7 @@ jobs:
267319
with:
268320
flutter-version: '3.27.0'
269321
channel: 'stable'
322+
cache: true
270323

271324
- name: Download xfg-stark-cli
272325
run: |
@@ -281,6 +334,19 @@ jobs:
281334
sudo apt-get update
282335
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libsecret-1-dev
283336
flutter config --enable-linux-desktop
337+
continue-on-error: false
338+
339+
- name: Cache Flutter dependencies
340+
uses: actions/cache@v4
341+
with:
342+
path: |
343+
~/.pub-cache
344+
**/.packages
345+
**/.flutter-plugins
346+
**/.flutter-plugins-dependencies
347+
key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.lock') }}
348+
restore-keys: |
349+
${{ runner.os }}-flutter-
284350
285351
- name: Install dependencies
286352
run: flutter pub get
@@ -294,6 +360,10 @@ jobs:
294360
run: |
295361
cd build/linux/x64/release/bundle
296362
tar -czf XF₲-Wallet-Linux-Latest.tar.gz *
363+
continue-on-error: false
364+
continue-on-error: false
365+
continue-on-error: false
366+
continue-on-error: false
297367

298368
- name: Upload build artifacts
299369
uses: actions/upload-artifact@v4

0 commit comments

Comments
 (0)