Skip to content

fixes; doc

fixes; doc #259

Workflow file for this run

# This workflow will do a clean installation of node dependencies, cache/restore
# them, 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: 'Node.js Test CI'
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version:
- '18'
- '20'
- '22'
- 'latest'
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v3
- name: 'Install Node.JS (${{ matrix.node-version }})'
uses: actions/setup-node@v3
with:
node-version: '${{ matrix.node-version }}'
- name: 'Enable Yarn'
run: 'corepack enable'
- name: 'Inspect Yarn version'
run: 'yarn --version'
# Cache Yarn Modules
- name: 'Get yarn cache directory path'
id: yarn-cache-dir-path
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
shell: bash
- name: 'Restore yarn cache'
uses: actions/cache@v3
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
restore-keys: |
yarn-cache-folder-
- run: 'yarn'
- run: 'yarn test'
# Try to compile our example zoodb "PeopleDB"
- name: 'Clone example ZooDB repo'
run: 'git clone https://github.com/phfaist/zoodb-example.git'
- name: 'Use Version of ZooDb that we want to test'
run: 'yarn up @phfaist/zoodb@https://github.com/${{ github.repository }}.git#${{ github.sha }}'
working-directory: ./zoodb-example/
- name: 'Build example ZooDB (Only for Node ≥ 20)'
run: |
if [[ ${{ matrix.node-version }} == "latest" || ${{ matrix.node-version }} -ge 20 ]]; then
echo "Building test website [Node $(yarn node --version)]"
yarn build
else
echo "Skipping test build website [Node $(yarn node --version)]"
fi
working-directory: ./zoodb-example/website