Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit fe4958b

Browse files
committedJan 25, 2024
GH Actions: Cypress test on Windows Edge and Mac WebKit
1 parent ca2236a commit fe4958b

File tree

2 files changed

+26
-17
lines changed

2 files changed

+26
-17
lines changed
 

‎.github/workflows/main.yml

+25-17
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ env:
1616
jobs:
1717
unit-test-and-build:
1818
runs-on: ubuntu-latest
19+
timeout-minutes: 5
1920
steps:
2021
- name: Checkout
2122
uses: actions/checkout@v4
@@ -52,16 +53,18 @@ jobs:
5253

5354
cypress-run:
5455
runs-on: ${{ matrix.os }}
56+
timeout-minutes: 15
5557
strategy:
5658
fail-fast: false
5759
matrix:
58-
type: [e2e, component]
59-
browser: [firefox, chrome]
6060
os: [ubuntu-latest]
61-
# TODO: re-enable once macos build is stable #590
62-
# include:
63-
# - os: macos-latest
64-
# browser: edge
61+
browser: [firefox, chrome]
62+
include:
63+
- os: macos-latest
64+
browser: webkit
65+
- os: windows-latest
66+
browser: edge
67+
6568
env:
6669
COVERAGE: true
6770
steps:
@@ -74,36 +77,41 @@ jobs:
7477
node-version: 'lts/*'
7578
cache: yarn
7679

77-
- name: Test (E2E)
78-
if: matrix.type == 'e2e'
80+
- name: Install WebKit support
81+
if: matrix.browser == 'webkit'
82+
run: yarn add playwright-webkit --dev --mode=update-lockfile
83+
84+
- name: Component test
85+
# Component tests on webkit hang for some reason
86+
if: matrix.browser != 'webkit'
87+
uses: cypress-io/github-action@v6
88+
with:
89+
component: true
90+
browser: ${{ matrix.browser }}
91+
92+
- name: E2E test
7993
uses: cypress-io/github-action@v6
8094
env:
8195
BASE_URL: http://localhost:4173/
8296
with:
97+
install: ${{ matrix.browser == 'webkit' }} # Only install if not done in previous step
8398
build: yarn run build --mode offline
8499
start: yarn run preview
85100
config: baseUrl=${{ env.BASE_URL }}
86101
wait-on: ${{ env.BASE_URL }}
87102
browser: ${{ matrix.browser }}
88103

89-
- name: Test (component)
90-
if: matrix.type == 'component'
91-
uses: cypress-io/github-action@v6
92-
with:
93-
component: true
94-
browser: ${{ matrix.browser }}
95-
96104
- name: Upload screenshots
97105
uses: actions/upload-artifact@v4
98106
if: failure()
99107
with:
100-
name: 'cypress-screenshots_${{ matrix.type }}_${{ matrix.browser }}_${{ matrix.os }}'
108+
name: 'cypress-screenshots_${{ matrix.browser }}_${{ matrix.os }}'
101109
path: tests/e2e/screenshots
102110

103111
- name: Upload coverage artifact
104112
uses: actions/upload-artifact@v4
105113
with:
106-
name: 'coverage_${{ matrix.type }}_${{ matrix.browser }}_${{ matrix.os }}'
114+
name: 'coverage_cypress_${{ matrix.browser }}_${{ matrix.os }}'
107115
path: coverage/lcov.info
108116
retention-days: 4
109117

‎cypress.config.js

+1
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,5 @@ module.exports = defineConfig({
6464
},
6565

6666
morgan: false, // Disable XHR logging as it's very noisy
67+
experimentalWebKitSupport: true,
6768
})

0 commit comments

Comments
 (0)
Please sign in to comment.