name: CI on: [push, pull_request] jobs: build: strategy: matrix: os: ['ubuntu-latest', 'windows-latest'] python-version: [ '3.7', '3.8', '3.9' ] runs-on: ${{ matrix.os }} name: OS ${{ matrix.os }}, Python ${{ matrix.python-version }} steps: # Checks out a copy of your repository on the machine - name: Checkout code uses: actions/checkout@v1 # Setup python - name: Setup python uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} architecture: x64 # Setup node.js (for pyright) - name: Setup node.js (for pyright) uses: actions/setup-node@v2 with: node-version: '14' # Install pyright - name: Install pyright run: | npm install -g pyright # Install this package - name: Install this package run: | python -m pip install . # Install dependencies - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install -r requirements.txt # Run pytests - name: Run pytests run: | pytest tests/ --showlocals --verbose # Run mypy - name: Run mypy run: | mypy tests construct_typed # Run pyright - name: Run pyright run: | pyright