mirror of
https://github.com/webpack/tapable.git
synced 2026-01-25 15:07:55 +00:00
73 lines
2.3 KiB
YAML
73 lines
2.3 KiB
YAML
name: Test
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
permissions:
|
|
contents: read # to fetch code (actions/checkout)
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Use Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: lts/*
|
|
cache: npm
|
|
- run: npm ci
|
|
- run: npm run lint
|
|
test:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
node-version: [
|
|
# Node.js@6 is fully broken for testing, npm can't install dependecies, babel is broken due broken mapping new features with Node.js version, jest breaks randomly and crashes
|
|
# 6.x,
|
|
8.x,
|
|
10.x,
|
|
12.x,
|
|
14.x,
|
|
16.x,
|
|
18.x,
|
|
20.x,
|
|
22.x,
|
|
24.x
|
|
]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/github-script@v7
|
|
id: calculate_architecture
|
|
with:
|
|
result-encoding: string
|
|
script: |
|
|
if ('${{ matrix.os }}' === 'macos-latest' && ('${{ matrix['node-version'] }}' === '6.x' || '${{ matrix['node-version'] }}' === '8.x' || '${{ matrix['node-version'] }}' === '10.x' || '${{ matrix['node-version'] }}' === '12.x' || '${{ matrix['node-version'] }}' === '14.x')) {
|
|
return "x64"
|
|
} else {
|
|
return ''
|
|
}
|
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
architecture: ${{ steps.calculate_architecture.outputs.result }}
|
|
cache: npm
|
|
- name: Install dependencies
|
|
run: npm install
|
|
if: matrix.node-version == '8.x' || matrix.node-version == '10.x' || matrix.node-version == '12.x' || matrix.node-version == '14.x'
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
if: matrix.node-version != '8.x' && matrix.node-version != '10.x' && matrix.node-version != '12.x' && matrix.node-version != '14.x'
|
|
- name: Run tests with coverage
|
|
run: npm run test -- --ci --coverage
|
|
- uses: codecov/codecov-action@v5
|
|
with:
|
|
flags: integration
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|