Unit Testing and Deployment #2026
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Unit Testing and Deployment | |
on: | |
pull_request: | |
workflow_dispatch: | |
schedule: | |
- cron: "0 4 * * *" | |
push: | |
tags: | |
- "*" | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
ALLOW_PLOTTING: true | |
SHELLOPTS: "errexit:pipefail" | |
jobs: | |
Linux: | |
name: Linux Unit Testing | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.9", "3.10", "3.11", "3.12"] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install packages | |
run: | | |
for i in $(cat packages.txt); do sudo apt-get install $i; done | |
- name: Install Testing Requirements | |
run: | | |
pip install -e .[test] | |
- name: Unit Testing | |
run: | | |
export PYTHONPATH=. && xvfb-run python -m pytest -v |