diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000..070815b16 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,25 @@ +name: Lint + +on: + pull_request: + branches: + - master + +jobs: + linux: + name: Linux - Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: actions/setup-node@v2 + with: + node-version: 14 + cache: npm + - run: npm ci + - run: | + npm run commitlint -- \ + --verbose \ + --from `git merge-base origin/master $GITHUB_SHA` + - run: npm run lint diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 82d51b1b3..13fea22eb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,7 @@ on: jobs: main: - name: Lint and Unit (Client and Server), E2E and Integration Test + name: Unit (Client and Server), E2E and Integration Test runs-on: ubuntu-latest env: BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }} @@ -23,8 +23,6 @@ jobs: node-version: 14 cache: npm - run: npm ci - - run: npm run commitlint -- --from `git merge-base origin/master $GITHUB_SHA` - - run: npm run lint - run: npm run build:check - run: npm run test:unit - run: npm run test:e2e diff --git a/CHANGELOG.md b/CHANGELOG.md index 72d1870c0..e2500bf93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [6.3.19](https://github.com/karma-runner/karma/compare/v6.3.18...v6.3.19) (2022-04-19) + + +### Bug Fixes + +* **client:** error out when opening a new tab fails ([099b85e](https://github.com/karma-runner/karma/commit/099b85ed0a46e37dd7cb14fc1596cbb1b3eabce9)) + ## [6.3.18](https://github.com/karma-runner/karma/compare/v6.3.17...v6.3.18) (2022-04-13) diff --git a/client/karma.js b/client/karma.js index 9e13d89df..117c1239b 100644 --- a/client/karma.js +++ b/client/karma.js @@ -94,6 +94,9 @@ function Karma (updater, socket, iframe, opener, navigator, location, document) childWindow.close() } childWindow = opener(url) + if (childWindow === null) { + self.error('Opening a new tab/window failed, probably because pop-ups are blocked.') + } // run context on parent element (client_with_context) // using window.__karma__.scriptUrls to get the html element strings and load them dynamically } else if (url !== 'about:blank') { diff --git a/package-lock.json b/package-lock.json index f230766d6..3e2206d31 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "karma", - "version": "6.3.18", + "version": "6.3.19", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index e5ba090f1..7487c353b 100644 --- a/package.json +++ b/package.json @@ -35,10 +35,10 @@ "Christian Budde Christensen ", "Wesley Cho ", "taichi ", + "Jonathan Ginsburg ", "Liam Newman ", "lukasz ", "Anton ", - "Jonathan Ginsburg ", "Michał Gołębiowski-Owczarek ", "Todd Wolfson ", "Mark Trostler ", @@ -499,7 +499,7 @@ "engines": { "node": ">= 10" }, - "version": "6.3.18", + "version": "6.3.19", "license": "MIT", "scripts": { "lint": "eslint . --ext js --ignore-pattern *.tpl.js", diff --git a/static/karma.js b/static/karma.js index 04c7ad322..f72f024ed 100644 --- a/static/karma.js +++ b/static/karma.js @@ -104,6 +104,9 @@ function Karma (updater, socket, iframe, opener, navigator, location, document) childWindow.close() } childWindow = opener(url) + if (childWindow === null) { + self.error('Opening a new tab/window failed, probably because pop-ups are blocked.') + } // run context on parent element (client_with_context) // using window.__karma__.scriptUrls to get the html element strings and load them dynamically } else if (url !== 'about:blank') {