Merge pull request #11048 from openlayers/test-action

Run tests as a GitHub CI workflow
This commit is contained in:
Tim Schaub
2020-05-17 05:17:42 -06:00
committed by GitHub
9 changed files with 61 additions and 33 deletions

View File

@@ -2,7 +2,7 @@ version: 2
jobs:
build:
docker:
- image: circleci/node:current-browsers
- image: circleci/node:current
working_directory: ~/repo
@@ -13,16 +13,6 @@ jobs:
keys:
- v2-dependencies-{{ checksum "package-lock.json" }}
- run:
name: Install Headless Chrome Dependencies
command: |
sudo apt-get install -yq \
gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 \
libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates \
fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
- run:
name: Install Dependencies
command: npm install
@@ -32,21 +22,6 @@ jobs:
- node_modules
key: v2-dependencies-{{ checksum "package-lock.json" }}
- run:
name: Run Tests
command: npm test
- store_artifacts:
path: /home/circleci/.npm/_logs
- store_artifacts:
path: coverage/
destination: coverage
- store_artifacts:
path: rendering/cases/
destination: rendering
- run:
name: Build Examples
command: npm run build-examples

50
.github/workflows/test.yml vendored Normal file
View File

@@ -0,0 +1,50 @@
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
- name: Store Rendering Test Artifacts
if: ${{ always() }}
uses: actions/upload-artifact@v2
with:
name: rendering-tests
path: rendering/cases/

View File

@@ -27,5 +27,5 @@ new Map({
render({
message: 'Vector tile layer renders with vector render mode',
tolerance: 0.01,
tolerance: 0.02,
});

View File

@@ -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,
});

View File

@@ -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});

View File

@@ -25,5 +25,5 @@ new Map({
render({
message: 'Vector tile layer renders',
tolerance: 0.01,
tolerance: 0.02,
});

View File

@@ -46,4 +46,4 @@ const unmanaged = new VectorLayer({
});
unmanaged.setMap(map);
render();
render({tolerance: 0.01});

View File

@@ -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',

View File

@@ -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: {