Switch from Travis CI to GitHub Actions. #5
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |