Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace Appveyor windows testing with GHA #5599

Draft
wants to merge 26 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
1cb3fd1
add windows-latest to the ci matrix
jonchurch Apr 14, 2024
a8fdb62
move os into matrix, set runs-on via matrix
jonchurch Apr 14, 2024
b66b57c
add nvm for windows
jonchurch Apr 14, 2024
9b749b1
fixup! move os into matrix, set runs-on via matrix
jonchurch Apr 14, 2024
e627dd0
create cross platform ci, drop linting and code cov for now
jonchurch Apr 20, 2024
5eded3b
fixup! create cross platform ci, drop linting and code cov for now
jonchurch Apr 20, 2024
0fc566f
restore ci.yml to upstream
jonchurch Apr 20, 2024
dba96dd
fixup! create cross platform ci, drop linting and code cov for now
jonchurch Apr 20, 2024
edb1cb5
fixup! create cross platform ci, drop linting and code cov for now
jonchurch Apr 20, 2024
330b447
add step to disable shrinkwrap/lockfile
jonchurch Apr 20, 2024
7ae4542
lets go red to make sure things are working
jonchurch Apr 20, 2024
9560afb
Revert "lets go red to make sure things are working"
jonchurch Apr 20, 2024
4f28818
add 21.7.1 to see if we fail on query there
jonchurch Apr 20, 2024
7e8b379
Revert "add 21.7.1 to see if we fail on query there"
jonchurch Apr 20, 2024
99f513a
add lint job to experimental ci
jonchurch Apr 20, 2024
092ceb9
name the test job Run tests
jonchurch Apr 20, 2024
acd6ad0
add v5 npm install fix
jonchurch Apr 29, 2024
d2b490a
add code coverage upload step
jonchurch Apr 29, 2024
cf5f26b
update coverage excludes
jonchurch Apr 29, 2024
b03b061
fixup! add code coverage upload step
jonchurch Apr 29, 2024
d2b3faf
fixup! add v5 npm install fix
jonchurch Apr 29, 2024
28206ca
fixup! add code coverage upload step
jonchurch Apr 29, 2024
2d0f536
update to setup-node v4
jonchurch Apr 29, 2024
0fe828f
see if setup node will just use io.js for 1-3.x
jonchurch Apr 29, 2024
889cb54
add 22.x to matrix
jonchurch Apr 29, 2024
fef26ed
Revert "see if setup node will just use io.js for 1-3.x"
jonchurch Apr 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
167 changes: 167 additions & 0 deletions .github/workflows/experimental.ci.yaml
@@ -0,0 +1,167 @@
name: Experimental CI -- CHANGE ME!

on:
push:
branches:
- master
- develop
- '4.x'
- '5.x'
paths-ignore:
- '*.md'
pull_request:
paths-ignore:
- '*.md'

concurrency:
group: "${{ github.workflow }} ✨ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}"
cancel-in-progress: true

jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 'lts/*'
persist-credentials: false

- name: Install dependencies
run: npm install --ignore-scripts --only=dev

- name: Run lint
run: npm run lint

coverage:
name: LTS Code Coverage
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 'lts/*'
persist-credentials: false

- name: Install dependencies
run: npm install --ignore-scripts --only=dev

- name: Collect coverage
run: npm run test-ci

- name: Upload code coverage report to Github
uses: actions/upload-artifact@v3
with:
name: lts-coverage
path: ./coverage
retention-days: 1

- name: Upload coverage report to Coveralls
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
flag-name: lts

test:
name: Run tests
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
node-version:
- "0.10.x"
- "0.12.x"
- "4.x"
- "5.x"
- "6.x"
- "7.x"
- "8.x"
- "9.x"
- "10.x"
- "11.x"
- "12.x"
- "13.x"
- "14.x"
- "15.x"
- "16.x"
- "17.x"
- "18.x"
- "19.x"
- "20.x"
- "21.x"
- "22.x"
# Use supported versions of our testing tools under older versions of Node
include:
- node-version: "0.10.x"
npm-i: "mocha@3.5.3 nyc@10.3.2 supertest@2.0.0"
- node-version: "0.12.x"
npm-i: "mocha@3.5.3 nyc@10.3.2 supertest@2.0.0"
- node-version: "4.x"
npm-i: "mocha@5.2.0 nyc@11.9.0 supertest@3.4.2"
- node-version: "5.x"
npm-i: "mocha@5.2.0 nyc@11.9.0 supertest@3.4.2"
- node-version: "6.x"
npm-i: "mocha@6.2.2 nyc@14.1.1 supertest@3.4.2"
- node-version: "7.x"
npm-i: "mocha@6.2.2 nyc@14.1.1 supertest@6.1.6"
- node-version: "8.x"
npm-i: "mocha@7.2.0 nyc@14.1.1"
- node-version: "9.x"
npm-i: "mocha@7.2.0 nyc@14.1.1"
- node-version: "10.x"
npm-i: "mocha@8.4.0"
- node-version: "11.x"
npm-i: "mocha@8.4.0"
- node-version: "12.x"
npm-i: "mocha@9.2.2"
- node-version: "13.x"
npm-i: "mocha@9.2.2"

runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

# fixes https://github.com/npm/cli/issues/681
- name: Node v5 npm install fix
if: ${{matrix.node-version == '5.x'}}
run: npm install -g npm@3.10.10

- name: Configure npm -- disable lockfile/shrinkwrap
run: |
npm config set loglevel error
npm_config_package_lock=$(npm config get package-lock)
if [ "$npm_config_package_lock" = "true" ] || [ "$npm_config_package_lock" = "True" ]; then
npm config set package-lock false
else
npm config set shrinkwrap false
fi
shell: bash

- name: Install dependencies
run: npm install

- name: Install Node version specific dev deps
if: ${{ matrix.npm-i != '' }}
run: npm install --save-dev ${{ matrix.npm-i }}

- name: Remove non-test dependencies
run: npm rm --silent --save-dev connect-redis

- name: Run tests
run: npm test

- name: Output Node and NPM versions
run: |
echo "Node.js version: $(node -v)"
echo "NPM version: $(npm -v)"

4 changes: 2 additions & 2 deletions package.json
Expand Up @@ -91,8 +91,8 @@
"scripts": {
"lint": "eslint .",
"test": "mocha --require test/support/env --reporter spec --bail --check-leaks test/ test/acceptance/",
"test-ci": "nyc --reporter=lcovonly --reporter=text npm test",
"test-cov": "nyc --reporter=html --reporter=text npm test",
"test-ci": "nyc --exclude examples --exclude test --exclude benchmarks --reporter=lcovonly --reporter=text npm test",
"test-cov": "nyc --exclude examples --exclude test --exclude benchmarks --reporter=html --reporter=text npm test",
"test-tap": "mocha --require test/support/env --reporter tap --check-leaks test/ test/acceptance/"
}
}