jose/.github/workflows/test.yml
2020-12-01 16:59:02 +01:00

125 lines
3.2 KiB
YAML

name: Continuous Integration
on:
push:
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
schedule:
- cron: 0 11 * * 1-5
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Setup node
uses: actions/setup-node@v2-beta
with:
node-version: 12
- name: Store node version variable
id: node
run: |
echo "::set-output name=version::$(node -v)"
- name: Cache node_modules
uses: actions/cache@v2
id: node_modules
with:
path: node_modules
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package.json') }}-${{ steps.node.outputs.version }}
- name: Install dependencies
run: npx panva/npm-install-retry
if: ${{ steps.node_modules.outputs.cache-hit != 'true' }}
- run: npm run lint
- run: npm run lint-ts
test:
env:
NODE_NO_WARNINGS: 1
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version:
- 10.13.0
- 10
- 11.0.0
- 11
- 12.0.0
- 12
- 13.7.0
- 13
- 14.0.0
- 14
- 15.0.1
- 15
os:
- ubuntu-latest
- windows-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Setup node
uses: actions/setup-node@v2-beta
with:
node-version: ${{ matrix.node-version }}
- name: Store node version variable
id: node
run: |
echo "::set-output name=version::$(node -v)"
- name: Cache node_modules
uses: actions/cache@v2
id: node_modules
with:
path: node_modules
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package.json') }}-${{ steps.node.outputs.version }}
- name: Install dependencies
run: npx panva/npm-install-retry
if: ${{ steps.node_modules.outputs.cache-hit != 'true' }}
- run: npm run coverage
test-electron:
env:
NODE_NO_WARNINGS: 1
runs-on: ${{ matrix.os }}
strategy:
matrix:
electron-version:
- 6.0.0
- 6
- 7.0.0
- 7
- 8.0.0
- 8
- 9.0.0
- 9
- 10.0.0
- 10
os:
- ubuntu-latest
- windows-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Setup node
uses: actions/setup-node@v2-beta
with:
node-version: 12
- name: Store node version variable
id: node
run: |
echo "::set-output name=version::$(node -v)"
- name: Cache node_modules
uses: actions/cache@v2
id: node_modules
with:
path: node_modules
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package.json') }}-${{ steps.node.outputs.version }}
- name: Install dependencies
run: npx panva/npm-install-retry
if: ${{ steps.node_modules.outputs.cache-hit != 'true' }}
- run: npm install --global xvfb-maybe electron@${{ matrix.electron-version }}
- run: xvfb-maybe electron ./test/electron