Skip to content

Commit 6365520

Browse files
committed
feat: add BrowserStack beta suite and workflow
1 parent 7548f0b commit 6365520

File tree

3 files changed

+141
-0
lines changed

3 files changed

+141
-0
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: 'BrowserStack Beta Test'
2+
on: [push, pull_request, workflow_dispatch]
3+
4+
jobs:
5+
browserstack-beta-test:
6+
name: 'BrowserStack Beta Test'
7+
runs-on: ubuntu-latest
8+
steps:
9+
- name: 'BrowserStack Env Setup'
10+
uses: browserstack/github-actions/setup-env@master
11+
with:
12+
username: ${{ secrets.BROWSERSTACK_USERNAME }}
13+
access-key: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
14+
15+
- name: 'BrowserStack Local Tunnel Setup'
16+
uses: browserstack/github-actions/setup-local@master
17+
with:
18+
local-testing: start
19+
local-identifier: random
20+
21+
- name: 'Checkout the repository'
22+
uses: actions/checkout@v3
23+
24+
- name: 'Run NPM CI'
25+
run: npm ci
26+
27+
- name: Run Build IIFE
28+
run: npm run build:iife
29+
30+
- name: 'Run Build test bundle'
31+
run: npm run build:test-bundle
32+
33+
- name: 'Run Browserstack Beta Tests'
34+
run: npm run test:browserstack-beta
35+
36+
- name: 'BrowserStackLocal Stop'
37+
uses: browserstack/github-actions/setup-local@master
38+
with:
39+
local-testing: stop
40+

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@
4343
"test": "npm run build && npm run build:test-bundle && cross-env DEBUG=false karma start test/karma.config.js",
4444
"test:browserstack": "karma start test/cross-browser-testing/browserstack.karma.config.js",
4545
"test:browserstack:debug": "cross-env DEBUG=true karma start test/cross-browser-testing/browserstack.karma.config.js",
46+
"test:browserstack-beta": "karma start test/cross-browser-testing/browserstack.karma.beta.config.js",
47+
"test:browserstack-beta:debug": "cross-env DEBUG=true karma start test/cross-browser-testing/browserstack.karma.beta.config.js",
4648
"test:debug": "cross-env DEBUG=true karma start test/karma.config.js",
4749
"test:stub": "cross-env TESTTYPE=stub ENVIRONMENT=prod rollup --config rollup.test.config.js && karma start test/stub/karma.stub.config.js",
4850
"test:integrations": "npm run test:requirejs && npm run test:integrations:cjs && npm run test:integrations:module",
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
const { DEBUG } = process.env;
2+
3+
const files = [
4+
'../lib/geomock.js',
5+
'../../dist/mparticle.js',
6+
'../test-bundle.js',
7+
];
8+
9+
let captureConsole = false;
10+
let browserConsoleLogOptions = {};
11+
12+
if (DEBUG === 'true') {
13+
browserConsoleLogOptions = {
14+
level: 'log',
15+
format: '%b %T: %m',
16+
terminal: true,
17+
};
18+
captureConsole = true;
19+
} else {
20+
browserConsoleLogOptions = {
21+
terminal: false,
22+
};
23+
}
24+
25+
const customLaunchers = {
26+
bs_chrome_mac_beta: {
27+
base: 'BrowserStack',
28+
browser: 'chrome',
29+
browser_version: 'beta',
30+
os: 'OS X',
31+
os_version: 'Ventura'
32+
},
33+
bs_chrome_win_beta: {
34+
base: 'BrowserStack',
35+
browser: 'chrome',
36+
browser_version: 'beta',
37+
os: 'Windows',
38+
os_version: '11'
39+
}
40+
// bs_firefox_mac_beta: {
41+
// base: 'BrowserStack',
42+
// browser: 'firefox',
43+
// browser_version: 'beta',
44+
// os: 'OS X',
45+
// os_version: 'Ventura'
46+
// },
47+
// bs_firefox_win_beta: {
48+
// base: 'BrowserStack',
49+
// browser: 'firefox',
50+
// browser_version: 'beta',
51+
// os: 'Windows',
52+
// os_version: '11'
53+
// },
54+
// bs_safari_mac_techpreview: {
55+
// base: 'BrowserStack',
56+
// browser: 'safari',
57+
// browser_version: 'tech-preview',
58+
// os: 'OS X',
59+
// os_version: 'Sonoma'
60+
// },
61+
// bs_edge_win_beta: {
62+
// base: 'BrowserStack',
63+
// browser: 'edge',
64+
// browser_version: 'beta',
65+
// os: 'Windows',
66+
// os_version: '11'
67+
// }
68+
};
69+
70+
module.exports = function(config) {
71+
config.set({
72+
browserStack: {
73+
username: process.env.BS_USERNAME,
74+
accessKey: process.env.BS_ACCESS_KEY
75+
},
76+
autoWatch: false,
77+
customLaunchers,
78+
browsers: Object.keys(customLaunchers),
79+
frameworks: ['mocha', 'should'],
80+
files,
81+
reporters: ['progress', 'junit'],
82+
colors: true,
83+
singleRun: true,
84+
debug: true,
85+
logLevel: config.LOG_INFO,
86+
browserConsoleLogOptions,
87+
client: {
88+
captureConsole,
89+
},
90+
junitReporter: {
91+
outputDir: 'reports/',
92+
outputFile: 'test-karma-beta.xml',
93+
},
94+
browserDisconnectTimeout: 50000,
95+
browserDisconnectTolerance: 5,
96+
concurrency: 5,
97+
});
98+
};
99+

0 commit comments

Comments
 (0)