Exclude yarn from repository #1566
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: Node.js CI | |
on: | |
pull_request: | |
branches: [ "master" ] | |
push: | |
jobs: | |
build: | |
name: "Build module" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.x | |
- name: Enable Corepack | |
run: corepack enable | |
- name: Install dependencies | |
run: yarn install | |
- name: Lint TypeScript | |
run: yarn run lint-ts | |
- name: Lint Markdown | |
run: yarn run lint-md | |
- name: Build | |
run: yarn run build | |
- name: Upload build | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build | |
path: | | |
lib/**/*.js | |
lib/**/*.js.map | |
lib/**/*.d.ts | |
test/**/*.js | |
test/**/*.js.map | |
test: | |
name: "Node.js version matrix test" | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
YARN_IGNORE_NODE: 1 | |
strategy: | |
matrix: | |
node-version: [16.x, 18.x, 20.x, 22.x] | |
steps: | |
- name: 'Checkout the repository' | |
uses: actions/checkout@v4 | |
- name: Test with Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Enable Corepack | |
run: corepack enable | |
- name: Install dependencies | |
run: yarn install | |
- name: Download build | |
uses: actions/download-artifact@v4 | |
with: | |
name: build | |
- name: Test with Node.js ${{ matrix.node-version }} | |
run: yarn run test-coverage | |
- name: Coveralls Parallel | |
uses: coverallsapp/github-action@v2 | |
with: | |
github-token: ${{ secrets.github_token }} | |
flag-name: run-${{ matrix.test_number }} | |
parallel: true | |
finish: | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Coveralls Finished | |
uses: coverallsapp/github-action@v2 | |
with: | |
github-token: ${{ secrets.github_token }} | |
parallel-finished: true |