diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8252d777..b931b4e6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,14 +5,15 @@ on: - master pull_request: branches: - - master + - master jobs: test: name: Run Testing Suite runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, windows-latest] + browser: [ChromeHeadless, FirefoxHeadless] + os: [ubuntu-latest, windows-latest, macOS-latest] steps: - name: Checking out Repository uses: actions/checkout@v1 @@ -20,15 +21,26 @@ jobs: uses: actions/setup-node@v1 with: node-version: 12.x + - name: Update Brew (macOS) + if: matrix.os == 'macOS-latest' + run: brew update + - name: Install Chrome (macOS) + if: matrix.os == 'macOS-latest' && matrix.browser == 'ChromeHeadless' + run: brew cask install google-chrome + - name: Install Firefox (macOS) + if: matrix.os == 'macOS-latest' && matrix.browser == 'FirefoxHeadless' + run: brew cask install firefox - name: Install Dependencies run: yarn bootstrap - name: Run Tests run: yarn test env: - BROWSER: ChromeHeadless + BROWSER: ${{ matrix.browser }} - name: Upload Test Coverage to CodeCov # Container actions can only run on linux containers, which is sad. if: matrix.os == 'ubuntu-latest' uses: codecov/codecov-action@v1.0.2 with: token: ${{ secrets.CODECOV_TOKEN }} + - name: Build Project + run: yarn build \ No newline at end of file diff --git a/package.json b/package.json index f5970714..289048b2 100644 --- a/package.json +++ b/package.json @@ -101,6 +101,7 @@ "karma": "^4.2.0", "karma-chrome-launcher": "^3.0.0", "karma-coverage": "^2.0.1", + "karma-firefox-launcher": "^1.2.0", "karma-mocha": "^1.3.0", "karma-mocha-reporter": "^2.2.5", "karma-sinon-chai": "^2.0.2", diff --git a/yarn.lock b/yarn.lock index b4fe2073..5682576c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5691,6 +5691,11 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= +is-wsl@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.0.tgz#94369bbeb2249ef07b831b1b08590e686330ccbb" + integrity sha512-pFTjpv/x5HRj8kbZ/Msxi9VrvtOMRBqaDi3OIcbwPI3OuH+r3lLxVWukLITBaOGJIbA/w2+M1eVmVa4XNQlAmQ== + isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" @@ -5997,6 +6002,13 @@ karma-coverage@^2.0.1: minimatch "^3.0.0" source-map "^0.5.1" +karma-firefox-launcher@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/karma-firefox-launcher/-/karma-firefox-launcher-1.2.0.tgz#64fe03dd10300f9754d48f9ebfbf31f6c94a200c" + integrity sha512-j9Zp8M8+VLq1nI/5xZGfzeaEPtGQ/vk3G+Y8vpmFWLvKLNZ2TDjD6cu2dUu7lDbu1HXNgatsAX4jgCZTkR9qhQ== + dependencies: + is-wsl "^2.1.0" + karma-mocha-reporter@^2.2.5: version "2.2.5" resolved "https://registry.yarnpkg.com/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz#15120095e8ed819186e47a0b012f3cd741895560"