Skip to content

Commit cb23a68

Browse files
committed
Refactor CI workflow and remove example widget tests
Splits the build job in the CI workflow into separate jobs for cnativeapi and nativeapi examples, adding Android and iOS build steps. Removes default widget_test.dart files from all example and package example projects to clean up unused test files.
1 parent 2bf41b9 commit cb23a68

File tree

9 files changed

+83
-250
lines changed

9 files changed

+83
-250
lines changed

.github/workflows/ci.yml

Lines changed: 83 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ jobs:
8080
- name: Run tests
8181
run: dart pub global run melos run test
8282

83-
build:
84-
name: Build (${{ matrix.os }})
83+
build_cnativeapi:
84+
name: Build cnativeapi example (${{ matrix.os }})
8585
runs-on: ${{ matrix.os }}
8686
needs: [lint, test]
8787
strategy:
@@ -115,35 +115,108 @@ jobs:
115115
- name: Bootstrap melos
116116
run: dart pub global run melos bootstrap
117117

118-
- name: Build cnativeapi example Linux
118+
- name: Setup Java for Android
119+
if: matrix.os == 'ubuntu-latest'
120+
uses: actions/setup-java@v4
121+
with:
122+
distribution: 'temurin'
123+
java-version: '17'
124+
125+
- name: Build cnativeapi example Android
119126
if: matrix.os == 'ubuntu-latest'
120127
run: |
121128
cd packages/cnativeapi/example
122-
flutter build linux --release
129+
flutter build apk --release
123130
124-
- name: Build nativeapi example Linux
131+
- name: Build cnativeapi example Linux
125132
if: matrix.os == 'ubuntu-latest'
126133
run: |
127-
cd packages/nativeapi/example
134+
cd packages/cnativeapi/example
128135
flutter build linux --release
129136
130-
- name: Build cnativeapi example macOS
137+
- name: Build cnativeapi example iOS
131138
if: matrix.os == 'macos-latest'
132139
run: |
133140
cd packages/cnativeapi/example
134-
flutter build macos --release
141+
flutter build ios --release --no-codesign
135142
136-
- name: Build nativeapi example macOS
143+
- name: Build cnativeapi example macOS
137144
if: matrix.os == 'macos-latest'
138145
run: |
139-
cd packages/nativeapi/example
146+
cd packages/cnativeapi/example
140147
flutter build macos --release
141148
142149
- name: Build cnativeapi example Windows
143150
if: matrix.os == 'windows-latest'
144151
run: |
145152
cd packages/cnativeapi/example
146153
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'
196+
197+
- name: Build nativeapi example Android
198+
if: matrix.os == 'ubuntu-latest'
199+
run: |
200+
cd packages/nativeapi/example
201+
flutter build apk --release
202+
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+
209+
- name: Build nativeapi example iOS
210+
if: matrix.os == 'macos-latest'
211+
run: |
212+
cd packages/nativeapi/example
213+
flutter build ios --release --no-codesign
214+
215+
- name: Build nativeapi example macOS
216+
if: matrix.os == 'macos-latest'
217+
run: |
218+
cd packages/nativeapi/example
219+
flutter build macos --release
147220
148221
- name: Build nativeapi example Windows
149222
if: matrix.os == 'windows-latest'

examples/display_example/test/widget_test.dart

Lines changed: 0 additions & 30 deletions
This file was deleted.

examples/menu_example/test/widget_test.dart

Lines changed: 0 additions & 30 deletions
This file was deleted.

examples/multiple_window_example/test/widget_test.dart

Lines changed: 0 additions & 30 deletions
This file was deleted.

examples/storage_example/test/widget_test.dart

Lines changed: 0 additions & 30 deletions
This file was deleted.

examples/tray_icon_example/test/widget_test.dart

Lines changed: 0 additions & 30 deletions
This file was deleted.

examples/window_example/test/widget_test.dart

Lines changed: 0 additions & 30 deletions
This file was deleted.

packages/cnativeapi/example/test/widget_test.dart

Lines changed: 0 additions & 30 deletions
This file was deleted.

packages/nativeapi/example/test/widget_test.dart

Lines changed: 0 additions & 30 deletions
This file was deleted.

0 commit comments

Comments
 (0)