Skip to content

Commit

Permalink
ci: Add Node.js versions and pin dependencies in the pipeline (#26)
Browse files Browse the repository at this point in the history
PR-URL: #26
  • Loading branch information
carpasse committed May 7, 2024
1 parent 5fe137d commit 50250ef
Showing 1 changed file with 59 additions and 16 deletions.
75 changes: 59 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,10 @@ on:

jobs:
test:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
strategy:
matrix:
name:
- Node.js 0.6
- Node.js 0.8
- Node.js 0.10
- Node.js 0.12
Expand All @@ -26,12 +25,18 @@ jobs:
- Node.js 10.x
- Node.js 11.x
- Node.js 12.x
- Node.js 13.x
- Node.js 14.x
- 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
- Node.js 22.x

include:
- name: Node.js 0.6
node-version: "0.6"
npm-i: mocha@1.21.5
npm-rm: nyc

- name: Node.js 0.8
node-version: "0.8"
Expand Down Expand Up @@ -68,36 +73,69 @@ jobs:

- name: Node.js 6.x
node-version: "6.17"
npm-i: mocha@6.2.2 nyc@14.1.1

- name: Node.js 7.x
node-version: "7.10"
npm-i: mocha@6.2.2 nyc@14.1.1

- name: Node.js 8.x
node-version: "8.16"
node-version: "8.17"
npm-i: mocha@7.1.2 nyc@14.1.1

- name: Node.js 9.x
node-version: "9.11"
npm-i: mocha@7.1.2 nyc@14.1.1

- name: Node.js 10.x
node-version: "10.15"
node-version: "10.24"
npm-i: mocha@8.4.0

- name: Node.js 11.x
node-version: "11.15"
npm-i: mocha@8.4.0

- name: Node.js 12.x
node-version: "12.2"
node-version: "12.22"
npm-i: mocha@9.2.2

- name: Node.js 13.x
node-version: "13.14"
npm-i: mocha@9.2.2

- name: Node.js 14.x
node-version: "14.21"

- name: Node.js 15.x
node-version: "15.14"

- name: Node.js 16.x
node-version: "16.20"

- name: Node.js 17.x
node-version: "17.9"

- name: Node.js 18.x
node-version: "18.18"

- name: Node.js 19.x
node-version: "19.9"

- name: Node.js 20.x
node-version: "20.9"

- name: Node.js 21.x
node-version: "21.7"

- name: Node.js 22.x
node-version: "22.0"

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Install Node.js ${{ matrix.node-version }}
shell: bash -eo pipefail -l {0}
run: |
if [[ "${{ matrix.node-version }}" == 0.6* ]]; then
sudo apt-get install g++-4.8 gcc-4.8 libssl1.0-dev
export CC=/usr/bin/gcc-4.8
export CXX=/usr/bin/g++-4.8
fi
nvm install --default ${{ matrix.node-version }}
if [[ "${{ matrix.node-version }}" == 0.* && "$(cut -d. -f2 <<< "${{ matrix.node-version }}")" -lt 10 ]]; then
nvm install --alias=npm 0.10
Expand All @@ -113,7 +151,12 @@ 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 npm module(s) ${{ matrix.npm-rm }}
run: npm rm --silent --save-dev ${{ matrix.npm-rm }}
Expand Down

0 comments on commit 50250ef

Please sign in to comment.