More ESM #193
Workflow file for this run
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: Build | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the project | |
uses: actions/checkout@v2 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 18.x | |
- name: Install dependencies | |
run: npm i | |
- name: Run lint step | |
run: npm run lint | |
test-node: | |
name: Test on Node.js | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: | |
- 16.x # to be removed 2023-09-11 | |
- 18.x # to be removed 2025-04-30 | |
- 20.x # to be removed 2026-04-30 | |
steps: | |
- name: Checkout the project | |
uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install dependencies | |
run: npm i | |
- name: Run Node.js Tests | |
run: npm run test:node | |
test-linux-browsers: | |
name: Test on Linux Firefox & Chrome | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the project | |
uses: actions/checkout@v2 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 18.x | |
- name: Install dependencies | |
run: npm i | |
- name: Run Node.js Tests | |
run: npm run test:browser -- --browsers chrome firefox --puppeteer | |
- name: Upload coverage | |
if: success() | |
uses: codecov/codecov-action@v1 | |
test-windows-browsers: | |
name: Test on Windows Firefox, Chrome & Edge | |
runs-on: windows-latest | |
steps: | |
- name: Checkout the project | |
uses: actions/checkout@v2 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 18.x | |
- name: Install dependencies | |
run: npm i | |
- name: Run Node.js Tests | |
run: npm run test:browser -- --browsers chrome firefox --puppeteer | |
release: | |
name: Publish a Release | |
if: github.event_name == 'push' | |
runs-on: ubuntu-latest | |
needs: [lint, test-node, test-linux-browsers] | |
steps: | |
- name: Checkout the project | |
uses: actions/checkout@v2 | |
- name: Use Node.js 18 | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 18.x | |
- name: Install dependencies | |
run: npm i | |
- name: Run Semantic Release | |
run: npx semantic-release | |
env: | |
NPM_TOKEN: ${{secrets.NPM_TOKEN}} | |
GITHUB_TOKEN: ${{secrets.github_token}} |