diff --git a/.github/workflows/node-4+.yml b/.github/workflows/node-4+.yml new file mode 100644 index 0000000..f53d6cb --- /dev/null +++ b/.github/workflows/node-4+.yml @@ -0,0 +1,237 @@ +name: 'Tests: node.js' + +on: [pull_request, push] + +jobs: + latest: + name: 'latest minors' + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [ + "15.0", + "14.15", + "13.14", + "12.19", + "11.15", + "10.23", + "9.11", + "8.17", + "7.10", + "6.17", + "5.12", + "4.9" + ] + + steps: + - uses: actions/checkout@v2 + - uses: dcodeIO/setup-node-nvm@master + name: Use Node.js ${{ matrix.node-version }} + with: + node-version: ${{ matrix.node-version }} + - name: 'upgrade npm, npm install' + run: | + . /home/runner/mynvm/nvm.sh + nvm install-latest-npm + export CI_RESET_NODE_VERSION=1 + case "${{ matrix.node-version }}" in + 5.*|6.1|6.2 ) nvm install --latest-npm 6 ;; + 9.0|9.1|9.2 ) nvm install --latest-npm 9 ;; + * ) export CI_RESET_NODE_VERSION=0 ;; + esac + npm install + if [ "${CI_RESET_NODE_VERSION-}" = 1 ]; then nvm use "${{ matrix.node-version }}"; fi + - run: npm run tests-only + - run: if [ -f coverage/*.json ]; then bash <(curl -s https://codecov.io/bash) -f coverage/*.json; fi + minors: + needs: latest + name: 'non-latest minors' + continue-on-error: true + if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }} + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [ + "14.14", + "14.13", + "14.12", + "14.11", + "14.10", + "14.9", + "14.8", + "14.7", + "14.6", + "14.5", + "14.4", + "14.3", + "14.2", + "14.1", + "14.0", + "13.13", + "13.12", + "13.11", + "13.10", + "13.9", + "13.8", + "13.7", + "13.6", + "13.5", + "13.4", + "13.3", + "13.2", + "13.1", + "13.0", + "12.18", + "12.17", + "12.16", + "12.15", + "12.14", + "12.13", + "12.12", + "12.11", + "12.10", + "12.9", + "12.8", + "12.7", + "12.6", + "12.5", + "12.4", + "12.3", + "12.2", + "12.1", + "12.0", + "11.14", + "11.13", + "11.12", + "11.11", + "11.10", + "11.9", + "11.8", + "11.7", + "11.6", + "11.5", + "11.4", + "11.3", + "11.2", + "11.1", + "11.0", + "10.22", + "10.21", + "10.20", + "10.19", + "10.18", + "10.17", + "10.16", + "10.15", + "10.14", + "10.13", + "10.12", + "10.11", + "10.10", + "10.9", + "10.8", + "10.7", + "10.6", + "10.5", + "10.4", + "10.3", + "10.2", + "10.1", + "10.0", + "9.10", + "9.9", + "9.8", + "9.7", + "9.6", + "9.5", + "9.4", + "9.3", + "9.2", + "9.1", + "9.0", + "8.16", + "8.15", + "8.14", + "8.13", + "8.12", + "8.11", + "8.10", + "8.9", + "8.8", + "8.7", + "8.6", + "8.5", + "8.4", + "8.3", + "8.2", + "8.1", + "8.0", + "7.9", + "7.8", + "7.7", + "7.6", + "7.5", + "7.4", + "7.3", + "7.2", + "7.1", + "7.0", + "6.16", + "6.15", + "6.14", + "6.13", + "6.12", + "6.11", + "6.10", + "6.9", + "6.8", + "6.7", + "6.6", + "6.5", + "6.4", + "6.3", + "6.2", + "6.1", + "6.0", + "5.11", + "5.10", + "5.9", + "5.8", + "5.7", + "5.6", + "5.5", + "5.4", + "5.3", + "5.2", + "5.1", + "5.0", + "4.8", + "4.7", + "4.6", + "4.5", + "4.4", + "4.3", + "4.2", + "4.1", + "4.0" + ] + + steps: + - uses: actions/checkout@v2 + - uses: dcodeIO/setup-node-nvm@master + name: Use Node.js ${{ matrix.node-version }} + with: + node-version: ${{ matrix.node-version }} + - run: . /home/runner/mynvm/nvm.sh && nvm install-latest-npm + - run: npm install + - run: npm run tests-only + - run: if [ -f coverage/*.json ]; then bash <(curl -s https://codecov.io/bash) -f coverage/*.json; fi + + node: + name: 'node 4+' + needs: [latest, minors] + runs-on: ubuntu-latest + steps: + - run: 'echo tests completed' \ No newline at end of file diff --git a/.github/workflows/node-4-9.yml b/.github/workflows/node-4-9.yml deleted file mode 100644 index a7e57d8..0000000 --- a/.github/workflows/node-4-9.yml +++ /dev/null @@ -1,137 +0,0 @@ -name: 'Tests: node.js v4-9' - -on: [pull_request, push] - -jobs: - latest: - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [ - 9.11, - 8.17, - 7.10, - 6.17, - 5.12, - 4.9 - ] - - steps: - - uses: actions/checkout@v2 - - uses: dcodeIO/setup-node-nvm@master - name: Use Node.js ${{ matrix.node-version }} - with: - node-version: ${{ matrix.node-version }} - - run: | - . /home/runner/mynvm/nvm.sh - nvm install-latest-npm - export CI_RESET_NODE_VERSION=1 - case "${{ matrix.node-version }}" in - 0.5|0.6|0.7|0.9) nvm install --latest-npm 0.8 ;; - 5.* ) nvm install --latest-npm 6 ;; - 6.1|6.2 ) nvm install --latest-npm 6 ;; - 9.0|9.1|9.2 ) nvm install --latest-npm 9 ;; - * ) export CI_RESET_NODE_VERSION=0 ;; - esac - npm install - if [ "${CI_RESET_NODE_VERSION-}" = 1 ]; then nvm use "${{ matrix.node-version }}"; fi - - run: npm run tests-only - - run: if [ -f coverage/*.json ]; then bash <(curl -s https://codecov.io/bash) -f coverage/*.json; fi - minors: - name: 'every other minor' - continue-on-error: true - if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }} - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [ - 9.10, - 9.9, - 9.8, - 9.7, - 9.6, - 9.5, - 9.4, - 9.3, - 9.2, - 9.1, - 9.0, - 8.16, - 8.15, - 8.14, - 8.13, - 8.12, - 8.11, - 8.10, - 8.9, - 8.8, - 8.7, - 8.6, - 8.5, - 8.4, - 8.3, - 8.2, - 8.1, - 8.0, - 7.9, - 7.8, - 7.7, - 7.6, - 7.5, - 7.4, - 7.3, - 7.2, - 7.1, - 7.0, - 6.16, - 6.15, - 6.14, - 6.13, - 6.12, - 6.11, - 6.10, - 6.9, - 6.8, - 6.7, - 6.6, - 6.5, - 6.4, - 6.3, - 6.2, - 6.1, - 6.0, - 5.11, - 5.10, - 5.9, - 5.8, - 5.7, - 5.6, - 5.5, - 5.4, - 5.3, - 5.2, - 5.1, - 5.0, - 4.8, - 4.7, - 4.6, - 4.5, - 4.4, - 4.3, - 4.2, - 4.1, - 4.0 - ] - - steps: - - uses: actions/checkout@v2 - - uses: dcodeIO/setup-node-nvm@master - name: Use Node.js ${{ matrix.node-version }} - with: - node-version: ${{ matrix.node-version }} - - run: . /home/runner/mynvm/nvm.sh && nvm install-latest-npm - - run: npm install - - run: npm run tests-only - - run: if [ -f coverage/*.json ]; then bash <(curl -s https://codecov.io/bash) -f coverage/*.json; fi \ No newline at end of file diff --git a/.github/workflows/node-iojs.yml b/.github/workflows/node-iojs.yml index 46960b1..38f6146 100644 --- a/.github/workflows/node-iojs.yml +++ b/.github/workflows/node-iojs.yml @@ -1,18 +1,18 @@ -name: 'Tests: io.js' +name: 'Tests: node.js (io.js)' on: [pull_request, push] jobs: latest: - name: 'each major, latest minor' + name: 'latest minors' runs-on: ubuntu-latest strategy: matrix: node-version: [ - iojs-v3.3, - iojs-v2.5, - iojs-v1.8 + "iojs-v3.3", + "iojs-v2.5", + "iojs-v1.8" ] steps: @@ -21,12 +21,14 @@ jobs: name: Use Node.js ${{ matrix.node-version }} with: node-version: ${{ matrix.node-version }} - - run: . /home/runner/mynvm/nvm.sh && nvm install-latest-npm + - name: 'upgrade npm, npm install' + run: . /home/runner/mynvm/nvm.sh && nvm install-latest-npm - run: npm install - run: npm run tests-only - run: if [ -f coverage/*.json ]; then bash <(curl -s https://codecov.io/bash) -f coverage/*.json; fi minors: - name: 'every other minor' + needs: latest + name: 'non-latest minors' continue-on-error: true if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }} runs-on: ubuntu-latest @@ -34,22 +36,22 @@ jobs: strategy: matrix: node-version: [ - iojs-v3.2, - iojs-v3.1, - iojs-v3.0, - iojs-v2.4, - iojs-v2.3, - iojs-v2.2, - iojs-v2.1, - iojs-v2.0, - iojs-v1.7, - iojs-v1.6, - iojs-v1.5, - iojs-v1.4, - iojs-v1.3, - iojs-v1.2, - iojs-v1.1, - iojs-v1.0 + "iojs-v3.2", + "iojs-v3.1", + "iojs-v3.0", + "iojs-v2.4", + "iojs-v2.3", + "iojs-v2.2", + "iojs-v2.1", + "iojs-v2.0", + "iojs-v1.7", + "iojs-v1.6", + "iojs-v1.5", + "iojs-v1.4", + "iojs-v1.3", + "iojs-v1.2", + "iojs-v1.1", + "iojs-v1.0" ] steps: @@ -58,7 +60,15 @@ jobs: name: Use Node.js ${{ matrix.node-version }} with: node-version: ${{ matrix.node-version }} - - run: . /home/runner/mynvm/nvm.sh && nvm install-latest-npm + - name: 'upgrade npm, npm install' + run: . /home/runner/mynvm/nvm.sh && nvm install-latest-npm - run: npm install - run: npm run tests-only - run: if [ -f coverage/*.json ]; then bash <(curl -s https://codecov.io/bash) -f coverage/*.json; fi + + node: + name: 'io.js' + needs: [latest, minors] + runs-on: ubuntu-latest + steps: + - run: 'echo tests completed' \ No newline at end of file diff --git a/.github/workflows/node-pretest.yml b/.github/workflows/node-pretest.yml new file mode 100644 index 0000000..570b491 --- /dev/null +++ b/.github/workflows/node-pretest.yml @@ -0,0 +1,37 @@ +name: 'Tests: pretest/posttest' + +on: [pull_request, push] + +jobs: + pretest: + runs-on: ubuntu-latest + + + steps: + - uses: actions/checkout@v2 + - uses: dcodeIO/setup-node-nvm@master + name: Use Node.js `lts/*` + with: + node-version: "lts/*" + - name: 'upgrade npm, npm install' + run: | + . /home/runner/mynvm/nvm.sh + nvm install-latest-npm + npm install + - run: npm run pretest + + posttest: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: dcodeIO/setup-node-nvm@master + name: Use Node.js `lts/*` + with: + node-version: "lts/*" + - name: 'upgrade npm, npm install' + run: | + . /home/runner/mynvm/nvm.sh + nvm install-latest-npm + npm install + - run: npm run posttest \ No newline at end of file diff --git a/.github/workflows/node-zero.yml b/.github/workflows/node-zero.yml new file mode 100644 index 0000000..4abfdf1 --- /dev/null +++ b/.github/workflows/node-zero.yml @@ -0,0 +1,84 @@ +name: 'Tests: node.js (0.x)' + +on: [pull_request, push] + +jobs: + stable: + name: 'stable minors' + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [ + "0.12", + "0.10", + "0.8" + ] + + steps: + - uses: actions/checkout@v2 + - uses: dcodeIO/setup-node-nvm@master + name: Use Node.js ${{ matrix.node-version }} + with: + node-version: ${{ matrix.node-version }} + - name: 'upgrade npm, npm install' + run: | + . /home/runner/mynvm/nvm.sh + case "${{ matrix.node-version }}" in + 0.* ) export NPM_CONFIG_STRICT_SSL=false ;; + esac + nvm install-latest-npm + export CI_RESET_NODE_VERSION=1 + case "${{ matrix.node-version }}" in + 0.5|0.6|0.7|0.9) nvm install --latest-npm 0.8 ;; + * ) export CI_RESET_NODE_VERSION=0 ;; + esac + npm install + if [ "${CI_RESET_NODE_VERSION-}" = 1 ]; then nvm use "${{ matrix.node-version }}"; fi + - run: npm run tests-only + - run: if [ -f coverage/*.json ]; then bash <(curl -s https://codecov.io/bash) -f coverage/*.json; fi + unstable: + needs: stable + name: 'unstable minors' + continue-on-error: true + if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }} + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [ + "0.11", + "0.9", + "0.6", + "0.4" + ] + + steps: + - uses: actions/checkout@v2 + - uses: dcodeIO/setup-node-nvm@master + name: Use Node.js ${{ matrix.node-version }} + with: + node-version: ${{ matrix.node-version }} + - name: 'upgrade npm, npm install' + run: | + . /home/runner/mynvm/nvm.sh + case "${{ matrix.node-version }}" in + 0.* ) export NPM_CONFIG_STRICT_SSL=false ;; + esac + nvm install-latest-npm + export CI_RESET_NODE_VERSION=1 + case "${{ matrix.node-version }}" in + 0.5|0.6|0.7|0.9) nvm install --latest-npm 0.8 ;; + * ) export CI_RESET_NODE_VERSION=0 ;; + esac + npm install + if [ "${CI_RESET_NODE_VERSION-}" = 1 ]; then nvm use "${{ matrix.node-version }}"; fi + - run: npm run tests-only + - run: if [ -f coverage/*.json ]; then bash <(curl -s https://codecov.io/bash) -f coverage/*.json; fi + + node: + name: 'node 0.x' + needs: [stable, unstable] + runs-on: ubuntu-latest + steps: + - run: 'echo tests completed' \ No newline at end of file diff --git a/.github/workflows/ses.yml b/.github/workflows/ses.yml new file mode 100644 index 0000000..0e08989 --- /dev/null +++ b/.github/workflows/ses.yml @@ -0,0 +1,33 @@ +name: 'Tests: SES' + +on: [pull_request, push] + +jobs: + tests: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [ + "14", + "12" + ] + + steps: + - uses: actions/checkout@v2 + - uses: dcodeIO/setup-node-nvm@master + name: Use Node.js ${{ matrix.node-version }} + with: + node-version: ${{ matrix.node-version }} + - name: 'upgrade npm, npm install' + run: | + . /home/runner/mynvm/nvm.sh + nvm install-latest-npm + npm install + - run: npm run test:ses + + SES: + needs: [tests] + runs-on: ubuntu-latest + steps: + - run: 'echo tests completed' \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 19a54bd..0000000 --- a/.travis.yml +++ /dev/null @@ -1,24 +0,0 @@ -version: ~> 1.0 -language: node_js -os: - - linux -import: - - ljharb/travis-ci:node/0.x/all.yml - - ljharb/travis-ci:node/minors/10.yml - - ljharb/travis-ci:node/minors/11.yml - - ljharb/travis-ci:node/minors/12.yml - - ljharb/travis-ci:node/minors/13.yml - - ljharb/travis-ci:node/minors/14.yml - - ljharb/travis-ci:node/minors/15.yml - - ljharb/travis-ci:node/pretest.yml - - ljharb/travis-ci:node/posttest.yml -script: - - 'if [ -n "${SES-}" ]; then npm run test:ses; fi' -matrix: - include: - - node_js: "14" - env: SES=true - - node_js: "12" - env: SES=true -after_success: - - 'if [ -f coverage/*.json ]; then bash <(curl -s https://codecov.io/bash) -f coverage/*.json; fi'