Skip to content

Switch from Travis CI to GitHub Actions. #5

Switch from Travis CI to GitHub Actions.

Switch from Travis CI to GitHub Actions. #5

Workflow file for this run

name: Tests on Node.js
"on": [push, pull_request]
jobs:
test:
name: Node.js v${{matrix.node}}
runs-on: ubuntu-latest
strategy:
matrix:
node:
- "0.10"
- "0.11.13"
# v0.11.14 changed ReadableStream.prototype.resume. Also introduced
# writing binary strings.
- "0.11.14"
- "0.11"
- "0.12"
- "4"
- "5"
- "6.0.0"
- "6.3"
# v6.4 introduced writing latin1 strings.
- "6.4.0"
- "6"
# v7 changed the internal _normalizeConnectArgs's function name.
- "7.0.0"
- "7"
- "11.8"
- "8.11"
# v8.12 revamped parts of HTTP parsing.
- "8.12.0"
- "8"
- "9.5"
# v9.6 revamped parts of HTTP parsing just like v8.12.
- "9.6.0"
- "9"
# Node v10 requires InternalSocket.prototype.writev.
- "10.0.0"
- "10.15.0"
# Node v10.15.1 requires InternalSocket.prototype.shutdown.
- "10.15.1"
- "10"
- "11.0.0"
# v11.1 changed onStreamRead in stream_base_commons.js to get the
# byte count through a global structure.
- "11.1.0"
# v11.2 requires InternalSocket.prototype.shutdown.
- "11.2.0"
- "11.7"
# v11.8 requires InternalSocket.prototype.shutdown to return "0".
- "11.8.0"
- "11"
- "12.0.0"
- "12.3"
# v12.4 changed decoding the server response buffer to UCS-2 by no
# longer returning a string with 2 little-endian bytes in a String.
# Then again, this could be https://github.com/nodejs/node/pull/27936.
- "12.4"
- "12.16.2"
# v12.16.3 changed something in InternalSocket.prototype.shutdown or
# possibly WritableStream.prototype.end causing the "close" event to
# not be emitted.
# https://github.com/moll/node-mitm/issues/66
- "12.16.3"
- "12"
- "13"
- "14"
- "15"
- "16"
- "17"
- "18"
- "19"
- "20"
- "21"
- "22"
# IO.js required TlsSocket.prototype.getSession.
- "iojs"
- "iojs-v2.4.0"
- "iojs-v3.2.0"
steps:
- uses: actions/checkout@v3
- name: Install Node.js v${{matrix.node}}
uses: actions/setup-node@v3
with:
node-version: "${{matrix.node}}"
cache: npm
cache-dependency-path: package.json
# NPM < v3.10.10 fails with "Error: Missing required argument #1" in
# npm/lib/fetch-package-metadata.js:31:3.
- name: Install NPM v3.10.10+ where necessary
run: >
[[ "$(npm --version)" = 3.* ]] &&
[[ "$(npm --version)" != 3.10.10 ]] &&
npm install --global npm@3
- name: Install NPMs
run: npm install --no-package-lock
- name: Run tests
run: make spec