CI #356
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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@v1 | |
with: | |
fetch-depth: 1 | |
- name: Install Node.js | |
uses: actions/setup-node@v1 | |
with: | |
node: 12.x | |
- name: Install Packages | |
run: npm install | |
- name: Lint | |
run: npm run -s lint | |
test: | |
name: Test | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macOS-latest] | |
eslint: [6.x, 5.x] | |
node: [13.x, 12.x, 10.x, 8.x] | |
exclude: | |
# On Windows, run tests with only the latest LTS environments. | |
- os: windows-latest | |
eslint: 6.x | |
node: 13.x | |
- os: windows-latest | |
eslint: 6.x | |
node: 10.x | |
- os: windows-latest | |
eslint: 6.x | |
node: 8.x | |
- os: windows-latest | |
eslint: 5.x | |
node: 13.x | |
- os: windows-latest | |
eslint: 5.x | |
node: 12.x | |
- os: windows-latest | |
eslint: 5.x | |
node: 10.x | |
- os: windows-latest | |
eslint: 5.x | |
node: 8.x | |
# On macOS, run tests with only the latest LTS environments. | |
- os: macOS-latest | |
eslint: 6.x | |
node: 13.x | |
- os: macOS-latest | |
eslint: 6.x | |
node: 10.x | |
- os: macOS-latest | |
eslint: 6.x | |
node: 8.x | |
- os: macOS-latest | |
eslint: 5.x | |
node: 13.x | |
- os: macOS-latest | |
eslint: 5.x | |
node: 12.x | |
- os: macOS-latest | |
eslint: 5.x | |
node: 10.x | |
- os: macOS-latest | |
eslint: 5.x | |
node: 8.x | |
# Run ESLint 5.x tests on only the latest LTS Node. | |
- os: ubuntu-latest | |
eslint: 5.x | |
node: 13.x | |
- os: ubuntu-latest | |
eslint: 5.x | |
node: 10.x | |
- os: ubuntu-latest | |
eslint: 5.x | |
node: 8.x | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v1 | |
with: | |
fetch-depth: 1 | |
- name: Install Node.js ${{ matrix.node }} | |
uses: actions/setup-node@v1 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Install Packages | |
run: npm install | |
- name: Install ESLint ${{ matrix.eslint }} | |
# We need to execute this command twice because of npm's bug. | |
# See also: https://npm.community/t/error-node-modules-staging-eslint-e7cf6846-node-modules-eslint | |
run: | | |
npm install --no-save eslint@${{ matrix.eslint }} | |
npm install --no-save eslint@${{ matrix.eslint }} | |
- name: Test | |
run: npm run -s test:ci | |
- name: Send Coverage | |
run: npm run -s codecov | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} |