* Show pytest coverage in GitHub CI tests Related #1097 * Extend Makefile with installation and test targets Refactor setup steps to unify commands between Linux and macOS. Move bash commands into Makefile for consistency and enable local execution of GitHub CI commands corresponding Makefile targets. Install on Ubuntu: make install_ubuntu Install on Ubuntu for development: make install_ubuntu PIP_ARGS=."[test]" Fixes #2303 * Improve name of GitHub test actions Related #2303 * Upgrade GitHub actions to Node.js 20 Replaces deprecated Node.js 16 actions. Related #2256, #2284
61 lines
1.2 KiB
YAML
61 lines
1.2 KiB
YAML
name: tests
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
ubuntu-tests:
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
matrix:
|
|
python-version: [3.7, 3.12]
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Install Ubuntu dependencies
|
|
run: |
|
|
make install_apt
|
|
|
|
- name: Install Python dependencies
|
|
run: |
|
|
make install_pip PIP_ARGS='.["test"]'
|
|
|
|
- name: Run tests on Ubuntu
|
|
run: |
|
|
make test
|
|
|
|
macos-tests:
|
|
runs-on: macos-latest
|
|
|
|
strategy:
|
|
matrix:
|
|
python-version: [3.7, 3.12]
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Set up macOS dependencies
|
|
run: |
|
|
make install_brew
|
|
|
|
- name: Install Python dependencies
|
|
run: |
|
|
make install_pip PIP_ARGS='.["test"]'
|
|
|
|
- name: Run tests on macOS
|
|
run: |
|
|
make test
|