Skip to content

Commit c9e7548

Browse files
committed
Refactor CI workflow and consolidate build jobs
Merged 'build_cnativeapi' and 'build_nativeapi' jobs into a single 'build' job for all platforms. Updated repository checkout steps to use submodules recursively. Adjusted job dependencies and reordered build steps for better maintainability.
1 parent cb23a68 commit c9e7548

File tree

1 file changed

+21
-57
lines changed

1 file changed

+21
-57
lines changed

.github/workflows/ci.yml

Lines changed: 21 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ jobs:
1414
steps:
1515
- name: Checkout repository
1616
uses: actions/checkout@v4
17+
with:
18+
submodules: recursive
1719

1820
- name: Setup Flutter
1921
uses: subosito/flutter-action@v2
@@ -51,6 +53,8 @@ jobs:
5153
steps:
5254
- name: Checkout repository
5355
uses: actions/checkout@v4
56+
with:
57+
submodules: recursive
5458

5559
- name: Setup Flutter
5660
uses: subosito/flutter-action@v2
@@ -80,10 +84,10 @@ jobs:
8084
- name: Run tests
8185
run: dart pub global run melos run test
8286

83-
build_cnativeapi:
84-
name: Build cnativeapi example (${{ matrix.os }})
87+
build:
88+
name: Build (${{ matrix.os }})
8589
runs-on: ${{ matrix.os }}
86-
needs: [lint, test]
90+
needs: [lint]
8791
strategy:
8892
fail-fast: false
8993
matrix:
@@ -92,6 +96,8 @@ jobs:
9296
steps:
9397
- name: Checkout repository
9498
uses: actions/checkout@v4
99+
with:
100+
submodules: recursive
95101

96102
- name: Setup Flutter
97103
uses: subosito/flutter-action@v2
@@ -128,18 +134,18 @@ jobs:
128134
cd packages/cnativeapi/example
129135
flutter build apk --release
130136
131-
- name: Build cnativeapi example Linux
132-
if: matrix.os == 'ubuntu-latest'
133-
run: |
134-
cd packages/cnativeapi/example
135-
flutter build linux --release
136-
137137
- name: Build cnativeapi example iOS
138138
if: matrix.os == 'macos-latest'
139139
run: |
140140
cd packages/cnativeapi/example
141141
flutter build ios --release --no-codesign
142142
143+
- name: Build cnativeapi example Linux
144+
if: matrix.os == 'ubuntu-latest'
145+
run: |
146+
cd packages/cnativeapi/example
147+
flutter build linux --release
148+
143149
- name: Build cnativeapi example macOS
144150
if: matrix.os == 'macos-latest'
145151
run: |
@@ -151,67 +157,25 @@ jobs:
151157
run: |
152158
cd packages/cnativeapi/example
153159
flutter build windows --release
154-
155-
build_nativeapi:
156-
name: Build nativeapi example (${{ matrix.os }})
157-
runs-on: ${{ matrix.os }}
158-
needs: [lint, test]
159-
strategy:
160-
fail-fast: false
161-
matrix:
162-
os: [ubuntu-latest, macos-latest, windows-latest]
163-
164-
steps:
165-
- name: Checkout repository
166-
uses: actions/checkout@v4
167-
168-
- name: Setup Flutter
169-
uses: subosito/flutter-action@v2
170-
with:
171-
flutter-version: '3.38.7'
172-
channel: 'stable'
173-
cache: true
174-
175-
- name: Install melos
176-
run: dart pub global activate melos
177-
178-
- name: Add melos to PATH
179-
shell: bash
180-
run: |
181-
if [[ "$RUNNER_OS" == "Windows" ]]; then
182-
echo "$USERPROFILE/.pub-cache/bin" >> $GITHUB_PATH
183-
else
184-
echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
185-
fi
186-
187-
- name: Bootstrap melos
188-
run: dart pub global run melos bootstrap
189-
190-
- name: Setup Java for Android
191-
if: matrix.os == 'ubuntu-latest'
192-
uses: actions/setup-java@v4
193-
with:
194-
distribution: 'temurin'
195-
java-version: '17'
196160
197161
- name: Build nativeapi example Android
198162
if: matrix.os == 'ubuntu-latest'
199163
run: |
200164
cd packages/nativeapi/example
201165
flutter build apk --release
202166
203-
- name: Build nativeapi example Linux
204-
if: matrix.os == 'ubuntu-latest'
205-
run: |
206-
cd packages/nativeapi/example
207-
flutter build linux --release
208-
209167
- name: Build nativeapi example iOS
210168
if: matrix.os == 'macos-latest'
211169
run: |
212170
cd packages/nativeapi/example
213171
flutter build ios --release --no-codesign
214172
173+
- name: Build nativeapi example Linux
174+
if: matrix.os == 'ubuntu-latest'
175+
run: |
176+
cd packages/nativeapi/example
177+
flutter build linux --release
178+
215179
- name: Build nativeapi example macOS
216180
if: matrix.os == 'macos-latest'
217181
run: |

0 commit comments

Comments
 (0)