diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000000..2327ff2932 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,43 @@ +name: Test + +on: + push: + branches: + - master + pull_request: + branches: + - master + +env: + CI: true + +jobs: + run: + name: Node ${{ matrix.node }} / ${{ matrix.os }} + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + os: + - ubuntu-latest + node: + - 14 + + steps: + - name: Clone Repository + uses: actions/checkout@v2 + + - name: Set Node.js Version + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node }} + + - run: node --version + - run: npm --version + + - name: Install Dependencies + run: npm ci + + - name: Run Tests + run: npm test diff --git a/rendering/cases/layer-vectortile-rendermode-vector/main.js b/rendering/cases/layer-vectortile-rendermode-vector/main.js index e0c41558d9..f4f6beda3c 100644 --- a/rendering/cases/layer-vectortile-rendermode-vector/main.js +++ b/rendering/cases/layer-vectortile-rendermode-vector/main.js @@ -27,5 +27,5 @@ new Map({ render({ message: 'Vector tile layer renders with vector render mode', - tolerance: 0.01, + tolerance: 0.02, }); diff --git a/rendering/cases/layer-vectortile-rotate-vector/main.js b/rendering/cases/layer-vectortile-rotate-vector/main.js index a7febf5779..97754dcac4 100644 --- a/rendering/cases/layer-vectortile-rotate-vector/main.js +++ b/rendering/cases/layer-vectortile-rotate-vector/main.js @@ -48,4 +48,7 @@ new Map({ }), }); -render({message: 'Vector tile layer rotates with vector layer on top'}); +render({ + message: 'Vector tile layer rotates with vector layer on top', + tolerance: 0.01, +}); diff --git a/rendering/cases/layer-vectortile-rotate/main.js b/rendering/cases/layer-vectortile-rotate/main.js index c8aa853f0e..1b14a7fff9 100644 --- a/rendering/cases/layer-vectortile-rotate/main.js +++ b/rendering/cases/layer-vectortile-rotate/main.js @@ -24,4 +24,4 @@ const map = new Map({ }); map.getView().setRotation(Math.PI / 4); -render({message: 'Vector tile layer rotates'}); +render({message: 'Vector tile layer rotates', tolerance: 0.01}); diff --git a/rendering/cases/layer-vectortile-simple/main.js b/rendering/cases/layer-vectortile-simple/main.js index 8062f51340..ea04ea1e21 100644 --- a/rendering/cases/layer-vectortile-simple/main.js +++ b/rendering/cases/layer-vectortile-simple/main.js @@ -25,5 +25,5 @@ new Map({ render({ message: 'Vector tile layer renders', - tolerance: 0.01, + tolerance: 0.02, }); diff --git a/rendering/cases/multiple-layers/main.js b/rendering/cases/multiple-layers/main.js index fd1e59cfc2..d3779717c3 100644 --- a/rendering/cases/multiple-layers/main.js +++ b/rendering/cases/multiple-layers/main.js @@ -46,4 +46,4 @@ const unmanaged = new VectorLayer({ }); unmanaged.setMap(map); -render(); +render({tolerance: 0.01}); diff --git a/rendering/test.js b/rendering/test.js index fdbf283353..c34d42f414 100755 --- a/rendering/test.js +++ b/rendering/test.js @@ -381,7 +381,7 @@ if (require.main === module) { .option('headless', { describe: 'Launch Puppeteer in headless mode', type: 'boolean', - default: false, + default: !!process.env.CI, }) .option('puppeteer-args', { describe: 'Additional args for Puppeteer', diff --git a/test/karma.config.js b/test/karma.config.js index 2c00a94dee..e463afdecf 100644 --- a/test/karma.config.js +++ b/test/karma.config.js @@ -2,7 +2,7 @@ const path = require('path'); module.exports = function (karma) { karma.set({ - browsers: ['Chrome'], + browsers: [process.env.CI ? 'ChromeHeadless' : 'Chrome'], browserDisconnectTolerance: 2, frameworks: ['mocha'], client: {