This repository has been archived by the owner on Jul 9, 2024. It is now read-only.
weekly tests #2
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: weekly tests | |
on: | |
schedule: | |
- cron: 37 7 * * 1 | |
workflow_dispatch: | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
tests: | |
name: ${{ matrix.name }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: Python 3.12, with doctests, all tests, macOS | |
os: macos-latest | |
python: '3.12' | |
toxenv: py312-pins-pytest_doctests_all | |
- name: Python 3.11, all tests, Ubuntu | |
os: ubuntu-latest | |
python: '3.11' | |
toxenv: py311-pins-pytest_all | |
- name: Python 3.11, all tests, code coverage, macOS | |
os: macos-latest | |
python: '3.11' | |
toxenv: py311-pins-pytest_cov_all | |
- name: Python 3.10, all tests, Windows | |
os: windows-latest | |
python: '3.10' | |
toxenv: py310-pins-pytest_all | |
- name: Python 3.10, lowest direct dependencies, all tests, macOS | |
os: macos-latest | |
python: '3.10' | |
toxenv: py310-lowest_direct-pytest_all | |
- name: Python 3.12, with Astropy dev, all tests, Ubuntu | |
os: ubuntu-latest | |
python: '3.12' | |
toxenv: py312-pytest_all-astropydev | |
- name: Python 3.12, with matplotlib dev, all tests, Ubuntu | |
os: ubuntu-latest | |
python: '3.12' | |
toxenv: py312-pytest_all-matplotlibdev | |
- name: Python 3.12, with NumPy dev, all tests, Ubuntu | |
os: ubuntu-latest | |
python: '3.12' | |
toxenv: py312-pytest_all-numpydev | |
- name: Python 3.12, with NumPy dev, all tests, Windows | |
os: windows-latest | |
python: '3.12' | |
toxenv: py312-pytest_all-numpydev | |
- name: Python 3.12, all tests, xarray dev, Ubuntu | |
os: ubuntu-latest | |
python: '3.12' | |
toxenv: py312-pytest_all-xarraydev | |
- name: Documentation, with Sphinx dev, Python 3.12, Ubuntu | |
os: ubuntu-latest | |
python: '3.12' | |
toxenv: build_docs-sphinxdev | |
toxposargs: -q | |
- name: Import PlasmaPy, Python 3.10, Windows | |
os: windows-latest | |
python: '3.10' | |
toxenv: py310-lowest_direct-pypi-import | |
- name: Import PlasmaPy, Python 3.11, macOS | |
os: macos-latest | |
python: '3.11' | |
toxenv: py311-lowest_direct-pypi-import | |
- name: Import PlasmaPy, Python 3.12, Ubuntu | |
os: ubuntu-latest | |
python: '3.12' | |
toxenv: py312-lowest_direct-pypi-import | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
cache: pip | |
- name: Install tox and its extensions | |
run: python -m pip install --upgrade tox tox-uv | |
- name: Install graphviz & pandoc | |
if: startsWith(matrix.name, 'Documentation') | |
run: sudo apt-get install graphviz pandoc | |
- name: Run tests | |
run: tox ${{ matrix.toxargs }} -e ${{ matrix.toxenv }} -- ${{ matrix.toxposargs }} | |
- name: Upload coverage reports to Codecov | |
if: ${{ contains(matrix.toxenv,'_cov') }} | |
uses: codecov/codecov-action@v4 | |
with: | |
file: ./coverage.xml | |
fail_ci_if_error: true | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
install-plasmapy-via-conda-forge: | |
name: Install PlasmaPy from conda-forge | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up miniconda | |
uses: conda-incubator/setup-miniconda@v3 | |
with: | |
auto-update-conda: true | |
python-version: '3.10' | |
- name: Use conda to install PlasmaPy from conda-forge | |
run: conda install -c conda-forge --yes plasmapy |