You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.0 KiB
102 lines
2.0 KiB
2 years ago
|
name: CI
|
||
|
|
||
|
on:
|
||
|
pull_request:
|
||
|
paths-ignore:
|
||
|
- 'build/**'
|
||
|
- 'docs/**'
|
||
|
- 'files/**'
|
||
|
push:
|
||
|
paths-ignore:
|
||
|
- 'build/**'
|
||
|
- 'docs/**'
|
||
|
- 'files/**'
|
||
|
|
||
|
permissions:
|
||
|
contents: read
|
||
|
|
||
|
jobs:
|
||
|
|
||
|
lint:
|
||
|
name: "Linting"
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
- name: Git checkout
|
||
|
uses: actions/checkout@v2
|
||
|
- name: Install node
|
||
|
uses: actions/setup-node@v2
|
||
|
with:
|
||
|
node-version: 16
|
||
|
cache: 'npm'
|
||
|
- name: Install packages
|
||
|
run: npm ci
|
||
|
|
||
|
- name: === Linting ===
|
||
|
run: npm run lint
|
||
|
|
||
|
unit:
|
||
|
name: "Unit testing"
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
- name: Git checkout
|
||
|
uses: actions/checkout@v2
|
||
|
- name: Install node
|
||
|
uses: actions/setup-node@v2
|
||
|
with:
|
||
|
node-version: 16
|
||
|
cache: 'npm'
|
||
|
- name: Install packages
|
||
|
run: |
|
||
|
npm ci
|
||
|
npm ci --prefix test
|
||
|
- name: Build
|
||
|
run: npm run build
|
||
|
|
||
|
- name: === Unit testing ===
|
||
|
run: npm run test-unit
|
||
|
|
||
|
e2e:
|
||
|
name: "E2E testing"
|
||
|
runs-on: ubuntu-latest
|
||
|
strategy:
|
||
|
matrix:
|
||
|
CI: [ 0, 1, 2, 3, 4, 5, 6, 7 ]
|
||
|
env:
|
||
|
CI: ${{ matrix.CI }}
|
||
|
FORCE_COLOR: 1
|
||
|
steps:
|
||
|
- name: Git checkout
|
||
|
uses: actions/checkout@v2
|
||
|
- name: Install node
|
||
|
uses: actions/setup-node@v2
|
||
|
with:
|
||
|
node-version: 16
|
||
|
cache: 'npm'
|
||
|
- name: Install packages
|
||
|
run: |
|
||
|
npm ci
|
||
|
npm ci --prefix test
|
||
|
sudo apt-get install xvfb
|
||
|
- name: Build
|
||
|
run: npm run build
|
||
|
|
||
|
- name: === E2E testing ===
|
||
|
run: xvfb-run --auto-servernum npm run test-e2e
|
||
|
|
||
|
e2e-cov:
|
||
|
name: "Ready for release"
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
- name: Git checkout
|
||
|
uses: actions/checkout@v2
|
||
|
- name: Install node
|
||
|
uses: actions/setup-node@v2
|
||
|
with:
|
||
|
node-version: 16
|
||
|
cache: 'npm'
|
||
|
- name: Install packages
|
||
|
run: npm ci
|
||
|
|
||
|
- name: === Ready for release ===
|
||
|
run: npm run test-e2e-cov
|