name: Verify changes on: [push, pull_request] jobs: tests: runs-on: ubuntu-latest strategy: matrix: node-version: [8.x, 10.x, 12.x, 14.x, 15.x] steps: - uses: actions/checkout@v2 submodules: recursive - name: Setup Node.js uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - name: npm install and test run: | npm install npm test tests-on-legacy: runs-on: ubuntu-latest strategy: matrix: node-version: [0.10.x, 0.12.x, 4.x, 6.x] steps: - uses: actions/checkout@v2 submodules: recursive - name: Setup Node.js uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - name: npm install and test run: | npm install mocha@3 chai@3 npm run test-unit common-js-usage: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Setup Node.js uses: actions/setup-node@v1 with: node-version: 12.x - name: Package, install and test run: | export ARCHIVE_FILENAME=$(npm pack | tail -n 1) export UNPACK_DESTINATION=$(mktemp -d) mv $ARCHIVE_FILENAME $UNPACK_DESTINATION cp test/module-systems/commonjs-test.js $UNPACK_DESTINATION cd $UNPACK_DESTINATION npm install $ARCHIVE_FILENAME node commonjs-test.js esm-usage: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Setup Node.js uses: actions/setup-node@v1 with: node-version: '>=13.2.0' - name: Package, install and test run: | export ARCHIVE_FILENAME=$(npm pack | tail -n 1) export UNPACK_DESTINATION=$(mktemp -d) mv $ARCHIVE_FILENAME $UNPACK_DESTINATION cp test/module-systems/esm-test.mjs $UNPACK_DESTINATION cd $UNPACK_DESTINATION npm install $ARCHIVE_FILENAME node esm-test.mjs browser-usage: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Setup Node.js uses: actions/setup-node@v1 with: node-version: 12.x - name: Install and test run: | npm ci npx mocha test/module-systems/browser-test.js deno-usage: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - uses: denolib/setup-deno@master with: deno-version: 'v1.0.0' - run: deno --version - run: deno test --allow-net=deno.land test/module-systems/deno-test.ts build-output-sync: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - name: Setup Node.js uses: actions/setup-node@v1 with: node-version: 12.x - name: Install, build and check git diff run: | npm ci npm run build git diff --quiet HEAD --