diff --git a/.github/workflows/test-changed.yml b/.github/workflows/test-changed.yml index 6f86e38e7ed..7455435147b 100644 --- a/.github/workflows/test-changed.yml +++ b/.github/workflows/test-changed.yml @@ -3,31 +3,61 @@ name: Test Modified Packages on: pull_request jobs: - test: - name: Test Packages With Changed Files + test-chrome: + name: Test Packages With Changed Files in Chrome and Node runs-on: ubuntu-latest steps: - - name: Checkout Repo - uses: actions/checkout@master - with: - # This makes Actions fetch all Git history so run-changed script can diff properly. - fetch-depth: 0 - - name: Set up Node (14) - uses: actions/setup-node@v2 - with: - node-version: 14.x - - name: install Chrome stable - run: | - sudo apt-get update - sudo apt-get install google-chrome-stable - - name: Bump Node memory limit - run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV - - name: Test setup and yarn install - run: | - cp config/ci.config.json config/project.json - yarn - - name: build - run: yarn build:changed core - - name: Run tests on changed packages - run: xvfb-run yarn test:changed core \ No newline at end of file + - name: Checkout Repo + uses: actions/checkout@master + with: + # This makes Actions fetch all Git history so run-changed script can diff properly. + fetch-depth: 0 + - name: Set up Node (14) + uses: actions/setup-node@v2 + with: + node-version: 14.x + - name: install Chrome stable + run: | + sudo apt-get update + sudo apt-get install google-chrome-stable + - name: Bump Node memory limit + run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV + - name: Test setup and yarn install + run: | + cp config/ci.config.json config/project.json + yarn + - name: build + run: yarn build:changed core + - name: Run tests on changed packages + run: xvfb-run yarn test:changed core + + test-firefox: + name: Test Packages With Changed Files in Firefox + runs-on: ubuntu-latest + + steps: + - name: Checkout Repo + uses: actions/checkout@master + with: + fetch-depth: 0 + - name: Set up Node (14) + uses: actions/setup-node@v2 + with: + node-version: 14.x + - name: install Firefox stable + run: | + sudo apt-get update + sudo apt-get install firefox + - name: Bump Node memory limit + run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV + - name: Test setup and yarn install + run: | + cp config/ci.config.json config/project.json + yarn + - name: build + run: yarn build:changed core + - name: Run tests on changed packages + run: xvfb-run yarn test:changed core + env: + BROWSERS: 'Firefox' diff --git a/config/karma.base.js b/config/karma.base.js index 83a1031c010..593de711579 100644 --- a/config/karma.base.js +++ b/config/karma.base.js @@ -60,7 +60,7 @@ const config = { // start these browsers // available browser launchers: // https://npmjs.org/browse/keyword/karma-launcher - browsers: ['ChromeHeadless'], + browsers: process.env?.BROWSERS?.split(',') ?? ['ChromeHeadless'], webpack: webpackTestConfig, diff --git a/packages/storage/karma.conf.js b/packages/storage/karma.conf.js index cae7c2a48e9..c6d44ef1693 100644 --- a/packages/storage/karma.conf.js +++ b/packages/storage/karma.conf.js @@ -34,7 +34,7 @@ function getTestFiles(argv) { let unitTestFiles = ['test/unit/*']; let integrationTestFiles = ['test/integration/*', 'test/browser/*']; - if (argv.unit) { + if (argv.unit || process.env?.BROWSERS) { return unitTestFiles; } else if (argv.integration) { return integrationTestFiles;