3535 - name : " Define testing strategy"
3636 uses : actions/github-script@v8
3737 id : define
38+ env :
39+ browserstack : ${{ secrets.BROWSERSTACK_USER_NAME }}
3840 with :
3941 script : |
4042 const fs = require('node:fs/promises');
43+ const process = require('process');
4144 const browsers = Object.entries(
4245 require('./.github/workflows/browser_testing.json')
4346 ).flatMap(([name, browser]) => {
@@ -56,11 +59,18 @@ jobs:
5659 .filter(([name, def]) => browsers.find(({bsName, version}) => bsName === def.browser && version === def.browser_version) == null)
5760 )
5861 const updatedBrowsersJson = JSON.stringify(bstackBrowsers, null, 2);
59- console.log("Using browsers.json:", updatedBrowsersJson);
62+ let bsBrowsers;
63+ if (process.env.browserstack) {
64+ console.log("Using browsers.json:", updatedBrowsersJson);
65+ bsBrowsers = Object.keys(bstackBrowsers).length;
66+ } else {
67+ console.log("Skipping browserstack tests (credentials are not available)");
68+ bsBrowsers = 0;
69+ }
6070 console.log("Browsers to be tested directly on runners:", JSON.stringify(browsers, null, 2))
6171 await fs.writeFile('./browsers.json', updatedBrowsersJson);
6272 return {
63- bsBrowsers: Object.keys(bstackBrowsers).length ,
73+ bsBrowsers,
6474 browsers,
6575 latestBrowsers: browsers.filter(browser => browser.version === 'latest')
6676 }
0 commit comments