Replace Appveyor windows testing with GHA #19
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: 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" | |
# Use supported versions of our testing tools under older versions of Node | |
include: | |
- node-version: "0.10.x" | |
npm-i: "[email protected] [email protected] [email protected]" | |
- node-version: "0.12.x" | |
npm-i: "[email protected] [email protected] [email protected]" | |
- node-version: "4.x" | |
npm-i: "[email protected] [email protected] [email protected]" | |
- node-version: "5.x" | |
npm-i: "[email protected] [email protected] [email protected]" | |
- node-version: "6.x" | |
npm-i: "[email protected] [email protected] [email protected]" | |
- node-version: "7.x" | |
npm-i: "[email protected] [email protected] [email protected]" | |
- node-version: "8.x" | |
npm-i: "[email protected] [email protected]" | |
- node-version: "9.x" | |
npm-i: "[email protected] [email protected]" | |
- node-version: "10.x" | |
npm-i: "[email protected]" | |
- node-version: "11.x" | |
npm-i: "[email protected]" | |
- node-version: "12.x" | |
npm-i: "[email protected]" | |
- node-version: "13.x" | |
npm-i: "[email protected]" | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
persist-credentials: false | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
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 [email protected] | |
- 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)" | |