Skip to content

CI

CI #749

Workflow file for this run

name: CI
on:
push:
branches: [master]
pull_request:
branches: [master]
schedule:
- cron: 0 0 * * 0
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
- name: Install Packages
run: npm install
- name: Lint
run: npm run -s lint
test:
name: Test
strategy:
matrix:
include:
- eslint: 9
node: 20
os: ubuntu-latest
# On other platforms
- eslint: 9
node: 20
os: windows-latest
- eslint: 9
node: 20
os: macos-latest
# On other Node.js versions
- eslint: 8
node: 19
os: ubuntu-latest
tseslint: 7
- eslint: 9
node: 18
os: ubuntu-latest
- eslint: 8
node: 16
os: ubuntu-latest
tseslint: 7
- eslint: 8
node: 17
os: ubuntu-latest
tseslint: 5
- eslint: 8
node: 14
os: ubuntu-latest
tseslint: 5
# On old ESLint versions
- eslint: 8.0.0
node: 18
os: ubuntu-latest
# On the minimum supported ESLint/Node.js version
- eslint: 8.0.0
node: 14.18.0
os: ubuntu-latest
tseslint: 5
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Node.js ${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- name: Uninstall Packages
run: |+
npm r -D vuepress eslint-plugin-eslint-plugin eslint-plugin-prettier vue-eslint-parser eslint-plugin-vue
- name: Install ESLint ${{ matrix.eslint }}
run: |+
npm install -D eslint@${{ matrix.eslint }}
npx rimraf node_modules
- name: Install "@typescript-eslint/parser" ${{ matrix.tseslint }}
run: |+
npm install -D @typescript-eslint/parser@${{ matrix.tseslint }}
npx rimraf node_modules
if: matrix.tseslint == 5 || matrix.tseslint == 7
- name: Install Packages
run: npm install
- name: Test
run: npm run -s test:mocha