Skip to content

Commit 657b87f

Browse files
committed
ci: Split the Firefox 94 browser test into its own job, as Browserstack often times out with it
1 parent bcf1243 commit 657b87f

2 files changed

Lines changed: 40 additions & 28 deletions

File tree

.github/vitest.browserstack.config.js

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,14 @@ const bsDefaults = {
1313
'browserstack.accessKey': env.BROWSERSTACK_ACCESS_KEY || env.BROWSERSTACK_KEY
1414
}
1515

16+
// e.g. BROWSERS="chrome:93 chrome:latest firefox:94 firefox:latest"
17+
const instances = env.BROWSERS.split(' ').map(name => {
18+
let [browser, browser_version] = name.split(':')
19+
if (browser !== 'chrome') browser = `playwright-${browser}`
20+
const provider = bsProvider({ browser, browser_version })
21+
return { name, browser: 'chromium', provider }
22+
})
23+
1624
const bsProvider = opts =>
1725
playwright({
1826
connectOptions: {
@@ -38,34 +46,7 @@ export default defineConfig({
3846
enabled: true,
3947
provider: playwright(),
4048
connectTimeout: 300_000,
41-
instances: [
42-
{
43-
name: 'Chrome Old',
44-
browser: 'chromium',
45-
provider: bsProvider({ browser: 'chrome', browser_version: '93' })
46-
},
47-
{
48-
name: 'Chrome New',
49-
browser: 'chromium',
50-
provider: bsProvider({ browser: 'chrome', browser_version: 'latest' })
51-
},
52-
{
53-
name: 'Firefox Old',
54-
browser: 'chromium',
55-
provider: bsProvider({
56-
browser: 'playwright-firefox',
57-
browser_version: '94'
58-
})
59-
},
60-
{
61-
name: 'Firefox New',
62-
browser: 'chromium',
63-
provider: bsProvider({
64-
browser: 'playwright-firefox',
65-
browser_version: 'latest'
66-
})
67-
}
68-
]
49+
instances
6950
},
7051
globals: true,
7152
include: ['tests/**/*.{js,ts}'],

.github/workflows/browsers.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,37 @@ jobs:
2828
- run: npm run build
2929
- run: npm install --no-save @vitest/browser-playwright@4
3030
- run: npx vitest run --config=.github/vitest.browserstack.config.js
31+
env:
32+
BROWSERS: chrome:93 chrome:latest firefox:latest
33+
34+
- uses: browserstack/github-actions/setup-local@master
35+
if: always()
36+
with:
37+
local-testing: stop
38+
39+
legacy:
40+
runs-on: ubuntu-latest
41+
42+
steps:
43+
- uses: actions/checkout@v6
44+
with: { submodules: true }
45+
- uses: actions/setup-node@v6
46+
- uses: browserstack/github-actions/setup-env@master
47+
with:
48+
username: ${{ secrets.BROWSERSTACK_USERNAME }}
49+
access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
50+
project-name: yaml
51+
- uses: browserstack/github-actions/setup-local@master
52+
with:
53+
local-testing: start
54+
local-identifier: random
55+
56+
- run: npm ci
57+
- run: npm run build
58+
- run: npm install --no-save @vitest/browser-playwright@4
59+
- run: npx vitest run --config=.github/vitest.browserstack.config.js
60+
env:
61+
BROWSERS: firefox:94
3162

3263
- uses: browserstack/github-actions/setup-local@master
3364
if: always()

0 commit comments

Comments
 (0)