4040 - uses : actions/setup-dotnet@v4
4141 with :
4242 dotnet-version : ' 9.x'
43- - uses : pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
44- with :
45- package_json_file : ' frontend/package.json'
46- - uses : actions/setup-node@v4
47- with :
48- node-version-file : ' ./frontend/package.json'
49- cache : ' pnpm'
50- cache-dependency-path : ' ./frontend/pnpm-lock.yaml'
5143 - name : Install Task
5244 uses : arduino/setup-task@b91d5d2c96a56797b48ac1e0e89220bf64044611 # v2
5345 with :
@@ -62,22 +54,48 @@ jobs:
6254 echo "VERSION=v$(date --rfc-3339=date)-$shortSha" >> ${GITHUB_OUTPUT}
6355 echo "SEMVER_VERSION=$(date +%Y.%-m.%-d)" >> ${GITHUB_OUTPUT}
6456
57+ - name : Dotnet build
58+ # the android build is quite slow, so we disable it for builds just for testing
59+ run : dotnet build FwLiteOnly.slnf -p:BuildAndroid=false
60+
6561 - name : Check for pending EF model changes
66- run : task fw-lite:has-pending-model-changes
62+ run : task fw-lite:has-pending-model-changes -- --no-build
63+
64+ - name : Dotnet test
65+ run : dotnet test FwLiteOnly.slnf --logger GitHubActions --no-build
6766
67+ frontend :
68+ runs-on : ubuntu-latest
69+ steps :
70+ - name : Checkout
71+ uses : actions/checkout@v4
72+ - uses : pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
73+ with :
74+ package_json_file : ' frontend/package.json'
75+ - uses : actions/setup-node@v4
76+ with :
77+ node-version-file : ' ./frontend/package.json'
78+ cache : ' pnpm'
79+ cache-dependency-path : ' ./frontend/pnpm-lock.yaml'
80+ - name : Install Task
81+ uses : arduino/setup-task@b91d5d2c96a56797b48ac1e0e89220bf64044611 # v2
82+ with :
83+ repo-token : ${{ secrets.GITHUB_TOKEN }}
6884 - name : Prepare frontend
6985 working-directory : frontend
7086 run : |
7187 pnpm install
72- pnpm svelte-kit sync
88+ - name : Set up Playwright dependencies
89+ working-directory : frontend
90+ run : pnpm exec playwright install --with-deps
91+ - name : Run snapshot tests
92+ working-directory : frontend/viewer
93+ run : task playwright-test-standalone
7394
7495 - name : Build viewer
7596 working-directory : frontend/viewer
7697 run : pnpm run build-app
7798
78- - name : Dotnet test
79- run : dotnet test FwLiteOnly.slnf --logger GitHubActions
80-
8199 - name : Upload viewer artifacts
82100 uses : actions/upload-artifact@v4
83101 with :
87105
88106 publish-mac :
89107 name : Publish FW Lite app for Mac
90- needs : build-and-test
108+ needs : [ build-and-test, frontend]
91109 timeout-minutes : 30
92110 runs-on : macos-latest
93111 steps :
@@ -124,7 +142,7 @@ jobs:
124142
125143 publish-linux :
126144 name : Publish FW Lite app for Linux
127- needs : build-and-test
145+ needs : [ build-and-test, frontend ]
128146 timeout-minutes : 30
129147 runs-on : ubuntu-latest
130148 steps :
@@ -155,7 +173,7 @@ jobs:
155173
156174 publish-android :
157175 name : Publish FW Lite app for Android
158- needs : build-and-test
176+ needs : [ build-and-test, frontend ]
159177 timeout-minutes : 30
160178 runs-on : macos-latest
161179 steps :
@@ -188,7 +206,7 @@ jobs:
188206 KEYSTORE_PASS : ${{ secrets.FW_LITE_KEYSTORE_PASS }}
189207 KEYSTORE_ALIAS : ${{ vars.FW_LITE_KEYSTORE_UPLOAD_KEY_ALIAS }}
190208 run : |
191- dotnet publish -f net9.0-android --artifacts-path ../artifacts \
209+ dotnet publish -f net9.0-android -p:BuildApple=false - -artifacts-path ../artifacts \
192210 -p:ApplicationDisplayVersion=${{ needs.build-and-test.outputs.semver-version }} \
193211 -p:ApplicationVersion=${{ github.run_number }} \
194212 -p:InformationalVersion=${{ needs.build-and-test.outputs.version }} \
@@ -209,7 +227,7 @@ jobs:
209227
210228 publish-win :
211229 name : Publish FW Lite app for Windows
212- needs : build-and-test
230+ needs : [ build-and-test, frontend ]
213231 timeout-minutes : 30
214232 runs-on : windows-latest
215233 steps :
@@ -231,14 +249,14 @@ jobs:
231249 - name : Publish Windows MAUI portable app
232250 working-directory : backend/FwLite/FwLiteMaui
233251 run : |
234- dotnet publish -f net9.0-windows10.0.19041.0 --artifacts-path ../artifacts -p:WindowsPackageType=None -p:ApplicationDisplayVersion=${{ needs.build-and-test.outputs.semver-version }} -p:InformationalVersion=${{ needs.build-and-test.outputs.version }}
252+ dotnet publish -f net9.0-windows10.0.19041.0 -p:BuildAndroid=false - -artifacts-path ../artifacts -p:WindowsPackageType=None -p:ApplicationDisplayVersion=${{ needs.build-and-test.outputs.semver-version }} -p:InformationalVersion=${{ needs.build-and-test.outputs.version }}
235253 mkdir -p ../artifacts/sign/portable
236254 cp -r ../artifacts/publish/FwLiteMaui/* ../artifacts/sign/portable/
237255
238256 - name : Publish Windows MAUI msix app
239257 working-directory : backend/FwLite/FwLiteMaui
240258 run : |
241- dotnet publish -f net9.0-windows10.0.19041.0 --artifacts-path ../artifacts -p:ApplicationDisplayVersion=${{ needs.build-and-test.outputs.semver-version }} -p:InformationalVersion=${{ needs.build-and-test.outputs.version }}
259+ dotnet publish -f net9.0-windows10.0.19041.0 -p:BuildAndroid=false - -artifacts-path ../artifacts -p:ApplicationDisplayVersion=${{ needs.build-and-test.outputs.semver-version }} -p:InformationalVersion=${{ needs.build-and-test.outputs.version }}
242260 mkdir -p ../artifacts/msix
243261 cp ../artifacts/bin/FwLiteMaui/*/AppPackages/*/*.msix ../artifacts/msix/
244262
0 commit comments