diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml new file mode 100644 index 0000000..8f6cd5f --- /dev/null +++ b/.github/workflows/node.js.yml @@ -0,0 +1,29 @@ +# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: Node.js CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: [ubuntu-16.04, ubuntu-18.04, ubuntu-20.04, macos-10.15, macos-11.0, windows-2019] + + strategy: + matrix: + node-version: [0.10.x, 0.12.x, 4.x, 6.x, 8.x, 10.x, 12.x, 14.x] + + 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 ci + - run: npm run build --if-present + - run: npm test diff --git a/package.json b/package.json index 23dcc9a..b7b4775 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "install": "node-gyp rebuild", "lint": "eslint test/*.js", "node-lt8": "node -e 'process.exit(process.version[1] < 8 ? 0 : 1)'", - "test": "npm run --silent node-lt8 || tap" + "test": "npm run --silent node-lt8 || tap test/*.js --cov" }, "dependencies": { "bindings": "~1.5.0",