Skip to content
This repository has been archived by the owner on Jul 9, 2024. It is now read-only.

weekly tests

weekly tests #6

Workflow file for this run

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