ircstates-js/.github/workflows/qa.yml

58 lines
1.5 KiB
YAML

name: QA
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Use Node.js 14
uses: actions/setup-node@v1
with:
node-version: 14
- run: npm ci --prefer-offline
- run: npm run lint
- run: npm run typecheck
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- node: 12
icu: node_modules/full-icu
- node: 14
- node: 16
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node }}
- run: npm ci --prefer-offline
- run: npm i --no-save full-icu
if: matrix.node == 12
- run: npm run coverage
env:
NODE_ICU_DATA: ${{ matrix.icu }}
- name: Codecov
if: always() && matrix.node == 14
uses: codecov/codecov-action@v1.0.6
with:
token: ${{ secrets.CODECOV_TOKEN }}