1. name: Tests
    
  2. 
    
  3. on:
    
  4.   pull_request:
    
  5.     paths-ignore:
    
  6.       - 'docs/**'
    
  7.   push:
    
  8.     branches:
    
  9.       - main
    
  10.     paths-ignore:
    
  11.       - 'docs/**'
    
  12. 
    
  13. concurrency:
    
  14.   group: ${{ github.workflow }}-${{ github.ref }}
    
  15.   cancel-in-progress: true
    
  16. 
    
  17. jobs:
    
  18.   windows:
    
  19.     runs-on: windows-latest
    
  20.     strategy:
    
  21.       matrix:
    
  22.         python-version:
    
  23.           - '3.10'
    
  24.     name: Windows, SQLite, Python ${{ matrix.python-version }}
    
  25.     steps:
    
  26.       - name: Checkout
    
  27.         uses: actions/checkout@v3
    
  28.       - name: Set up Python
    
  29.         uses: actions/setup-python@v3
    
  30.         with:
    
  31.           python-version: ${{ matrix.python-version }}
    
  32.           cache: 'pip'
    
  33.           cache-dependency-path: 'tests/requirements/py3.txt'
    
  34.       - name: Install and upgrade packaging tools
    
  35.         run: python -m pip install --upgrade pip setuptools wheel
    
  36.       - run: python -m pip install -r tests/requirements/py3.txt -e .
    
  37.       - name: Run tests
    
  38.         run: python tests/runtests.py -v2
    
  39. 
    
  40.   javascript-tests:
    
  41.     runs-on: ubuntu-latest
    
  42.     name: JavaScript tests
    
  43.     steps:
    
  44.       - name: Checkout
    
  45.         uses: actions/checkout@v3
    
  46.       - name: Set up Node.js
    
  47.         uses: actions/setup-node@v3
    
  48.         with:
    
  49.           node-version: '14'
    
  50.           cache: 'npm'
    
  51.           cache-dependency-path: '**/package.json'
    
  52.       - run: npm install
    
  53.       - run: npm test