Skip to content

Merge pull request #13765 from hasezoey/node20 #7074

Merge pull request #13765 from hasezoey/node20

Merge pull request #13765 from hasezoey/node20 #7074

Workflow file for this run

name: Test
on:
pull_request:
paths:
- '.github/workflows/test.yml'
- 'package.json'
- 'index.js'
- 'lib/**'
- 'test/**.js'
push:
paths:
- '.github/workflows/test.yml'
- 'package.json'
- 'index.js'
- 'lib/**'
- 'test/**.js'
permissions:
contents: read
jobs:
lint:
runs-on: ubuntu-latest
name: Lint JS-Files
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- name: Setup node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0
with:
node-version: 14
- run: npm install
- name: Lint JS-Files
run: npm run lint-js
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
node: [14, 16, 18, 20]
os: [ubuntu-20.04, ubuntu-22.04]
mongodb: [4.4.18, 5.0.14, 6.0.4]
include:
- os: ubuntu-20.04 # customize on which matrix the coverage will be collected on
mongodb: 5.0.14
node: 16
coverage: true
exclude:
- os: ubuntu-22.04 # exclude because there are no 4.x mongodb builds for 2204
mongodb: 4.4.18
- os: ubuntu-22.04 # exclude because there are no 5.x mongodb builds for 2204
mongodb: 5.0.14
name: Node ${{ matrix.node }} MongoDB ${{ matrix.mongodb }} OS ${{ matrix.os }}
env:
MONGOMS_VERSION: ${{ matrix.mongodb }}
MONGOMS_PREFER_GLOBAL_PATH: 1
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- name: Setup node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0
with:
node-version: ${{ matrix.node }}
- name: Load MongoDB binary cache
id: cache-mongodb-binaries
uses: actions/cache@v3
with:
path: ~/.cache/mongodb-binaries
key: ${{ matrix.os }}-${{ matrix.mongodb }}
- run: npm install
- name: NPM Test without Coverage
run: npm test
if: matrix.coverage != true
- name: NPM Test with Coverage
run: npm run test-coverage
if: matrix.coverage == true
- name: Archive code coverage results
uses: actions/upload-artifact@v3
if: matrix.coverage == true
with:
name: coverage
path: coverage
test-deno:
runs-on: ubuntu-20.04
name: Deno tests
env:
MONGOMS_VERSION: 6.0.4
MONGOMS_PREFER_GLOBAL_PATH: 1
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- name: Setup node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0
with:
node-version: 16
- name: Load MongoDB binary cache
id: cache-mongodb-binaries
uses: actions/cache@v3
with:
path: ~/.cache/mongodb-binaries
key: deno-${{ env.MONGOMS_VERSION }}
- name: Setup Deno
uses: denoland/setup-deno@v1
with:
deno-version: v1.34.x
- run: deno --version
- run: npm install
- name: Run Deno tests
run: npm run test-deno
test-replica-sets:
needs:
- test
runs-on: ubuntu-latest
name: Replica Set tests
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- name: Setup node
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0
with:
node-version: 16
- run: npm install
- name: Test
run: npm run test-rs
dependency-review:
name: Dependency Review
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Check out repo
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
- name: Dependency review
uses: actions/dependency-review-action@v3