update #40
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: | |
push: | |
branches: [ "master", "develop" ] | |
pull_request: | |
branches: [ "master" ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [20.x, 21.x, 22.x] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: "npm" | |
- run: npm install | |
- run: npm run build | |
- run: npm test | |
- run: sudo apt-get install xvfb | |
- run: xvfb-run --auto-servernum npm run test:chrome | |
- run: xvfb-run --auto-servernum npm run test:firefox | |
# Separate job for publishing to npm | |
publish: | |
runs-on: ubuntu-latest | |
needs: build # Wait for build to complete | |
if: github.ref == 'refs/heads/master' && github.event_name == 'push' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js 20.x | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "20.x" | |
cache: "npm" | |
- run: npm install | |
- run: npm run build | |
- name: Authenticate with npm | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
run: echo "//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}" > ~/.npmrc | |
- name: Run npm publish dry run | |
run: npm run npm:publish:dry-run | |
- name: Publish to npm | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
run: npm run npm:publish |