@@ -65,13 +65,14 @@ jobs:
6565 strategy :
6666 fail-fast : false
6767 matrix :
68- type : [e2e, component]
69- browser : [firefox, chrome]
7068 os : [ubuntu-latest]
71- # TODO: re-enable once macos build is stable #590
72- # include:
73- # - os: macos-latest
74- # browser: edge
69+ browser : [firefox, chrome]
70+ include :
71+ - os : macos-latest
72+ browser : webkit
73+ - os : windows-latest
74+ browser : edge
75+
7576 env :
7677 COVERAGE : true
7778 steps :
@@ -84,36 +85,41 @@ jobs:
8485 node-version : ' lts/*'
8586 cache : yarn
8687
87- - name : Test (E2E)
88- if : matrix.type == 'e2e'
88+ - name : Install WebKit support
89+ if : matrix.browser == 'webkit'
90+ run : yarn add playwright-webkit --dev --mode=update-lockfile
91+
92+ - name : Component test
93+ # Component tests on webkit hang for some reason
94+ if : matrix.browser != 'webkit'
95+ uses : cypress-io/github-action@v6
96+ with :
97+ component : true
98+ browser : ${{ matrix.browser }}
99+
100+ - name : E2E test
89101 uses : cypress-io/github-action@v6
90102 env :
91103 BASE_URL : http://localhost:4173/
92104 with :
105+ install : ${{ matrix.browser == 'webkit' }} # Only install if not done in previous step
93106 build : yarn run build --mode offline
94107 start : yarn run preview
95108 config : baseUrl=${{ env.BASE_URL }}
96109 wait-on : ${{ env.BASE_URL }}
97110 browser : ${{ matrix.browser }}
98111
99- - name : Test (component)
100- if : matrix.type == 'component'
101- uses : cypress-io/github-action@v6
102- with :
103- component : true
104- browser : ${{ matrix.browser }}
105-
106112 - name : Upload screenshots
107113 uses : actions/upload-artifact@v4
108114 if : failure()
109115 with :
110- name : ' cypress-screenshots_${{ matrix.type }}_${{ matrix. browser }}_${{ matrix.os }}'
116+ name : ' cypress-screenshots_${{ matrix.browser }}_${{ matrix.os }}'
111117 path : tests/e2e/screenshots
112118
113119 - name : Upload coverage artifact
114120 uses : actions/upload-artifact@v4
115121 with :
116- name : ' coverage_${{ matrix.type }}_ ${{ matrix.browser }}_${{ matrix.os }}'
122+ name : ' coverage_cypress_ ${{ matrix.browser }}_${{ matrix.os }}'
117123 path : coverage/lcov.info
118124 retention-days : 4
119125
0 commit comments