Merge pull request #11048 from openlayers/test-action
Run tests as a GitHub CI workflow
This commit is contained in:
@@ -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
50
.github/workflows/test.yml
vendored
Normal 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/
|
||||
@@ -27,5 +27,5 @@ new Map({
|
||||
|
||||
render({
|
||||
message: 'Vector tile layer renders with vector render mode',
|
||||
tolerance: 0.01,
|
||||
tolerance: 0.02,
|
||||
});
|
||||
|
||||
@@ -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,
|
||||
});
|
||||
|
||||
@@ -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});
|
||||
|
||||
@@ -25,5 +25,5 @@ new Map({
|
||||
|
||||
render({
|
||||
message: 'Vector tile layer renders',
|
||||
tolerance: 0.01,
|
||||
tolerance: 0.02,
|
||||
});
|
||||
|
||||
@@ -46,4 +46,4 @@ const unmanaged = new VectorLayer({
|
||||
});
|
||||
unmanaged.setMap(map);
|
||||
|
||||
render();
|
||||
render({tolerance: 0.01});
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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: {
|
||||
|
||||
Reference in New Issue
Block a user