Skip to content

Update package.json #42

Update package.json

Update package.json #42

Workflow file for this run

# This workflow will do a clean installation of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
name: Tests (main) & Deployment
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
MONGODB_CONNECTION_STRING: ${{ secrets.MONGODB_STRING }}
jobs:
test-ubuntu-node-18:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 18.x
uses: actions/setup-node@v4
with:
node-version: 18.x
- run: npm ci
- run: npm install jest npm install --save-dev @babel/preset-env @babel/core babel-jest
- run: npx jest --forceExit mongodb.test.js
test-ubuntu-node-20:
runs-on: ubuntu-latest
needs: test-ubuntu-node-18
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x
- run: npm ci
- run: npm install jest npm install --save-dev @babel/preset-env @babel/core babel-jest
- run: npx jest --forceExit mongodb.test.js
test-ubuntu-node-22:
runs-on: ubuntu-latest
needs: test-ubuntu-node-20
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22.x
uses: actions/setup-node@v4
with:
node-version: 22.x
- run: npm ci
- run: npm install jest npm install --save-dev @babel/preset-env @babel/core babel-jest
- run: npx jest --forceExit mongodb.test.js
test-windows-node-18:
runs-on: windows-latest
needs: test-ubuntu-node-22
steps:
- uses: actions/checkout@v4
- name: Use Node.js 18.x
uses: actions/setup-node@v4
with:
node-version: 18.x
- run: npm ci
- run: npm install jest npm install --save-dev @babel/preset-env @babel/core babel-jest
- run: npx jest --forceExit mongodb.test.js
test-windows-node-20:
runs-on: windows-latest
needs: test-windows-node-18
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x
- run: npm ci
- run: npm install jest npm install --save-dev @babel/preset-env @babel/core babel-jest
- run: npx jest --forceExit mongodb.test.js
test-windows-node-22:
runs-on: windows-latest
needs: test-windows-node-20
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22.x
uses: actions/setup-node@v4
with:
node-version: 22.x
- run: npm ci
- run: npm install jest npm install --save-dev @babel/preset-env @babel/core babel-jest
- run: npx jest --forceExit mongodb.test.js
test-macos-node-18:
runs-on: macos-latest
needs: test-windows-node-22
steps:
- uses: actions/checkout@v4
- name: Use Node.js 18.x
uses: actions/setup-node@v4
with:
node-version: 18.x
- run: npm ci
- run: npm install jest npm install --save-dev @babel/preset-env @babel/core babel-jest
- run: npx jest --forceExit mongodb.test.js
test-macos-node-20:
runs-on: macos-latest
needs: test-macos-node-18
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x
- run: npm ci
- run: npm install jest npm install --save-dev @babel/preset-env @babel/core babel-jest
- run: npx jest --forceExit mongodb.test.js
test-macos-node-22:
runs-on: macos-latest
needs: test-macos-node-20
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22.x
uses: actions/setup-node@v4
with:
node-version: 22.x
- run: npm ci
- run: npm install jest npm install --save-dev @babel/preset-env @babel/core babel-jest
- run: npx jest --forceExit mongodb.test.js
deploy:
needs: test-macos-node-22
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
# Setup Node.js environment
- uses: actions/setup-node@v4
with:
node-version: "22.x"
registry-url: "https://registry.npmjs.org"
# Install dependencies
- run: npm install
# Publish to npm if tests pass
- run: npm publish --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}