refactor: Add TypeScript support #1839
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: ci | |
on: | |
push: | |
branches: [ release, alpha, beta, next-major ] | |
pull_request: | |
branches: | |
- '**' | |
jobs: | |
check-lock-file-version: | |
name: NPM Lock File Version | |
timeout-minutes: 5 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Check NPM lock file version | |
uses: mansona/npm-lockfile-version@v1 | |
with: | |
version: 2 | |
check-types: | |
name: Check types | |
timeout-minutes: 5 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: npm ci | |
- name: Check types | |
run: npm run test:types | |
build: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
strategy: | |
matrix: | |
include: | |
- name: Node 14 | |
NODE_VERSION: 14.21.1 | |
- name: Node 16 | |
NODE_VERSION: 16.18.1 | |
- name: Node 18 | |
NODE_VERSION: 18.12.1 | |
- name: Node 19 | |
NODE_VERSION: 19.3.0 | |
fail-fast: false | |
steps: | |
- name: Fix usage of insecure GitHub protocol | |
run: sudo git config --system url."https://github".insteadOf "git://github" | |
- name: Fix git protocol for Node 14 | |
if: ${{ startsWith(matrix.NODE_VERSION, '14.') }} | |
run: sudo git config --system url."https://github".insteadOf "ssh://git@github" | |
- uses: actions/checkout@v3 | |
- name: Use Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.NODE_VERSION }} | |
- name: Cache Node.js modules | |
uses: actions/cache@v3 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node-${{ matrix.NODE_VERSION }}- | |
- run: npm ci | |
- run: npm run lint | |
- run: npm test -- --maxWorkers=4 | |
- run: npm run test:mongodb | |
env: | |
CI: true | |
- run: bash <(curl -s https://codecov.io/bash) | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true |