---
name: tests

on:
  push:
    branches-ignore:
    - development/**
    - q/*/**

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v6
    - uses: actions/setup-node@v6
      with:
        node-version: '22'
        cache: 'npm'
    - name: install dependencies
      run: |
        npm --verbose install
        npm --verbose install --only=dev
    - name: audit installed packages
      run: npm audit --only=prod --production
    - name: verify build
      run: npm run build
    - name: JSDoc
      run: npm run jsdoc
    - name: unit, functional tests with coverage
      run: npm run coverage
    - name: "Prepare artifacts"
      run: |
        set -xv
        mkdir artifacts
        cp -a docs artifacts/
        cp -a coverage artifacts/
    - uses: actions/upload-artifact@v4
      with:
        name: artifacts
        path: artifacts
