diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3739ff4..e8bd31f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,11 +6,10 @@ on: jobs: test: - runs-on: ubuntu-18.04 + runs-on: ubuntu-20.04 strategy: matrix: name: - - Node.js 0.6 - Node.js 0.8 - Node.js 0.10 - Node.js 0.12 @@ -31,61 +30,60 @@ jobs: - Node.js 15.x - Node.js 16.x - Node.js 17.x + - Node.js 18.x + - Node.js 19.x + - Node.js 20.x + - Node.js 21.x include: - - name: Node.js 0.6 - node-version: "0.6" - npm-i: mocha@1.21.5 - npm-rm: istanbul - - name: Node.js 0.8 node-version: "0.8" npm-i: mocha@2.5.3 - npm-rm: istanbul + npm-rm: nyc - name: Node.js 0.10 node-version: "0.10" - npm-i: mocha@3.5.3 + npm-i: mocha@3.5.3 nyc@10.3.2 - name: Node.js 0.12 node-version: "0.12" - npm-i: mocha@3.5.3 + npm-i: mocha@3.5.3 nyc@10.3.2 - name: io.js 1.x node-version: "1.8" - npm-i: mocha@3.5.3 + npm-i: mocha@3.5.3 nyc@10.3.2 - name: io.js 2.x node-version: "2.5" - npm-i: mocha@3.5.3 + npm-i: mocha@3.5.3 nyc@10.3.2 - name: io.js 3.x node-version: "3.3" - npm-i: mocha@3.5.3 + npm-i: mocha@3.5.3 nyc@10.3.2 - name: Node.js 4.x node-version: "4.9" - npm-i: mocha@5.2.0 + npm-i: mocha@5.2.0 nyc@11.9.0 - name: Node.js 5.x node-version: "5.12" - npm-i: mocha@5.2.0 + npm-i: mocha@5.2.0 nyc@11.9.0 - name: Node.js 6.x - node-version: "6.15" - npm-i: mocha@6.2.3 + node-version: "6.17" + npm-i: mocha@6.2.3 nyc@14.1.1 - name: Node.js 7.x node-version: "7.10" - npm-i: mocha@6.2.3 + npm-i: mocha@6.2.3 nyc@14.1.1 - name: Node.js 8.x - node-version: "8.14" - npm-i: mocha@7.2.0 + node-version: "8.17" + npm-i: mocha@7.2.0 nyc@14.1.1 - name: Node.js 9.x node-version: "9.11" - npm-i: mocha@7.2.0 + npm-i: mocha@7.2.0 nyc@14.1.1 - name: Node.js 10.x node-version: "10.24" @@ -102,7 +100,7 @@ jobs: node-version: "13.14" - name: Node.js 14.x - node-version: "14.18" + node-version: "14.19" - name: Node.js 15.x node-version: "15.14" @@ -111,7 +109,19 @@ jobs: node-version: "16.13" - name: Node.js 17.x - node-version: "17.2" + node-version: "17.4" + + - name: Node.js 18.x + node-version: "18.20" + + - name: Node.js 19.x + node-version: "19.9" + + - name: Node.js 20.x + node-version: "20.12" + + - name: Node.js 21.x + node-version: "21.7" steps: - uses: actions/checkout@v2 @@ -139,7 +149,15 @@ jobs: dirname "$(nvm which ${{ matrix.node-version }})" >> "$GITHUB_PATH" - name: Configure npm - run: npm config set shrinkwrap false + run: | + if [[ "$(npm config get package-lock)" == "true" ]]; then + npm config set package-lock false + else + npm config set shrinkwrap false + fi + + - name: Remove non-test npm modules + run: npm rm --silent --save-dev csv-parse raw-body stream-to-array - name: Remove npm module(s) ${{ matrix.npm-rm }} run: npm rm --silent --save-dev ${{ matrix.npm-rm }} @@ -176,7 +194,7 @@ jobs: - name: Run tests shell: bash run: | - if npm -ps ls istanbul | grep -q istanbul; then + if npm -ps ls nyc | grep -q nyc; then npm run test-ci else npm test @@ -188,7 +206,7 @@ jobs: - name: Collect code coverage uses: coverallsapp/github-action@master - if: steps.list_env.outputs.istanbul != '' + if: steps.list_env.outputs.nyc != '' with: github-token: ${{ secrets.GITHUB_TOKEN }} flag-name: run-${{ matrix.test_number }} @@ -201,5 +219,5 @@ jobs: - name: Upload code coverage uses: coverallsapp/github-action@master with: - github-token: ${{ secrets.github_token }} + github-token: ${{ secrets.GITHUB_TOKEN }} parallel-finished: true diff --git a/package.json b/package.json index 43c70ce..4c11ae5 100644 --- a/package.json +++ b/package.json @@ -23,8 +23,8 @@ "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "5.2.0", "eslint-plugin-standard": "4.1.0", - "istanbul": "0.4.5", - "mocha": "9.1.3" + "mocha": "^9.2.2", + "nyc": "15.1.0" }, "files": [ "LICENSE", @@ -38,7 +38,7 @@ "scripts": { "lint": "eslint .", "test": "mocha --reporter spec --bail --check-leaks test/", - "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/", - "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/" + "test-ci": "nyc --reporter=lcovonly --reporter=text npm test", + "test-cov": "nyc --reporter=html --reporter=text npm test" } }