@@ -65,13 +65,14 @@ jobs:
65
65
strategy :
66
66
fail-fast : false
67
67
matrix :
68
- type : [e2e, component]
69
- browser : [firefox, chrome]
70
68
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
+
75
76
env :
76
77
COVERAGE : true
77
78
steps :
@@ -84,36 +85,41 @@ jobs:
84
85
node-version : ' lts/*'
85
86
cache : yarn
86
87
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
89
101
uses : cypress-io/github-action@v6
90
102
env :
91
103
BASE_URL : http://localhost:4173/
92
104
with :
105
+ install : ${{ matrix.browser == 'webkit' }} # Only install if not done in previous step
93
106
build : yarn run build --mode offline
94
107
start : yarn run preview
95
108
config : baseUrl=${{ env.BASE_URL }}
96
109
wait-on : ${{ env.BASE_URL }}
97
110
browser : ${{ matrix.browser }}
98
111
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
-
106
112
- name : Upload screenshots
107
113
uses : actions/upload-artifact@v4
108
114
if : failure()
109
115
with :
110
- name : ' cypress-screenshots_${{ matrix.type }}_${{ matrix. browser }}_${{ matrix.os }}'
116
+ name : ' cypress-screenshots_${{ matrix.browser }}_${{ matrix.os }}'
111
117
path : tests/e2e/screenshots
112
118
113
119
- name : Upload coverage artifact
114
120
uses : actions/upload-artifact@v4
115
121
with :
116
- name : ' coverage_${{ matrix.type }}_ ${{ matrix.browser }}_${{ matrix.os }}'
122
+ name : ' coverage_cypress_ ${{ matrix.browser }}_${{ matrix.os }}'
117
123
path : coverage/lcov.info
118
124
retention-days : 4
119
125
0 commit comments