name: Node.js CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x, 14.x, 16.x]
build-how: ["node", "browser", "browser -n", "cdn :common"]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: npm install
- run: node ./tools/build.js -t ${{ matrix.build-how }}
- if: contains(matrix.build-how, 'browser') || contains(matrix.build-how, 'cdn')
name: Test browser/CDN build
run: |
npm run test-browser
node test/builds/browser_build_as_commonjs.js
- if: contains(matrix.build-how, 'cdn')
name: Test that we can import CDN esm build
run: |
node test/builds/cdn_build_as_esm.mjs
- if: contains(matrix.build-how, 'node')
name: Test Node.js build
run: |
npm test
- if: contains(matrix.build-how, 'node')
name: Test Node.js build is "use strict" safe
run: |
./node_modules/.bin/rollup -c test/builds/rollup_import_via_commonjs.js
node build/bundle.js