1414 runs-on : ${{ matrix.os }}
1515 strategy :
1616 matrix :
17- os : [ubuntu-latest]
17+ os : [ubuntu-latest, windows-latest ]
1818 steps :
1919 - name : Checkout git repo
2020 uses : actions/checkout@v4
4949 run : npm run test:coverage
5050
5151 e2e-smoke :
52- runs-on : ubuntu-latest
52+ runs-on : ${{ matrix.os }}
53+ strategy :
54+ matrix :
55+ os : [ubuntu-latest, windows-latest]
5356 steps :
5457 - name : Checkout git repo
5558 uses : actions/checkout@v4
7982 working-directory : paranext-core
8083 run : npm ci --ignore-scripts --omit=optional
8184
85+ - name : Install Electron binary
86+ working-directory : paranext-core
87+ run : node node_modules/electron/install.js
88+
8289 - name : Install system dependencies for Electron
90+ if : matrix.os == 'ubuntu-latest'
8391 run : sudo apt-get update && sudo apt-get install -y --no-install-recommends xvfb libgbm-dev libnss3 libxss1 libasound2t64
8492
8593 - name : Build extension
@@ -94,14 +102,20 @@ jobs:
94102 working-directory : paranext-core
95103 run : npm run build:dll
96104
97- - name : Run e2e smoke tests
105+ - name : Run e2e smoke tests (Linux)
106+ if : matrix.os == 'ubuntu-latest'
98107 working-directory : extension-repo
99108 run : xvfb-run --auto-servernum --server-args="-screen 0 1280x960x24" npm run test:e2e:smoke
100109
110+ - name : Run e2e smoke tests (Windows)
111+ if : matrix.os == 'windows-latest'
112+ working-directory : extension-repo
113+ run : npm run test:e2e:smoke
114+
101115 - name : Upload Playwright report
102116 uses : actions/upload-artifact@v4
103117 if : always()
104118 with :
105- name : playwright-report
119+ name : playwright-report-${{ matrix.os }}
106120 path : extension-repo/e2e-tests/playwright-report/
107121 retention-days : 7
0 commit comments