Use ruff for linting and formatting (#555) #592
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: numpydoc tests | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.number }}-${{ github.event.ref }} | |
cancel-in-progress: true | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }}-latest | |
strategy: | |
matrix: | |
os: [Ubuntu] | |
python-version: ["3.9", "3.10", "3.11", "3.12"] | |
sphinx-version: | |
["sphinx==6.0", "sphinx==6.2", "sphinx==7.0", "sphinx>=7.3"] | |
include: | |
- os: Windows | |
python-version: "3.12" | |
sphinx-version: "sphinx" # version shouldn't really matter here | |
defaults: | |
run: | |
shell: bash -eo pipefail {0} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Python setup | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Setup environment | |
run: | | |
python -m pip install --upgrade pip wheel setuptools | |
python -m pip install -r requirements/test.txt -r requirements/doc.txt | |
python -m pip install codecov | |
python -m pip install ${{ matrix.sphinx-version }} | |
python -m pip list | |
- name: Install | |
run: | | |
python -m pip install . | |
pip list | |
- name: Run test suite | |
run: | | |
pytest -v --pyargs numpydoc | |
- name: Test coverage | |
run: | | |
codecov | |
- name: Make sure CLI works | |
run: | | |
numpydoc render numpydoc.tests.test_main._capture_stdout | |
echo '! numpydoc render numpydoc.tests.test_main._invalid_docstring' | bash | |
numpydoc validate numpydoc.tests.test_main._capture_stdout | |
echo '! numpydoc validate numpydoc.tests.test_main._docstring_with_errors' | bash | |
- name: Setup for doc build | |
run: | | |
sudo apt-get update | |
sudo apt install texlive texlive-latex-extra latexmk dvipng | |
if: runner.os == 'Linux' | |
- name: Build documentation | |
run: | | |
make -C doc html SPHINXOPTS="-nT" | |
make -C doc latexpdf SPHINXOPTS="-nT" | |
if: runner.os == 'Linux' | |
prerelease: | |
runs-on: ${{ matrix.os }}-latest | |
strategy: | |
matrix: | |
os: [ubuntu] | |
python-version: ["3.11", "3.12"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Python setup | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Setup environment | |
run: | | |
python -m pip install --upgrade pip wheel setuptools | |
python -m pip install --pre -r requirements/test.txt -r requirements/doc.txt | |
python -m pip install codecov | |
python -m pip list | |
- name: Install | |
run: | | |
python -m pip install . | |
pip list | |
- name: Run test suite | |
run: | | |
pytest -v --pyargs . | |
- name: Test coverage | |
run: | | |
codecov | |
- name: Make sure CLI works | |
run: | | |
numpydoc render numpydoc.tests.test_main._capture_stdout | |
echo '! numpydoc render numpydoc.tests.test_main._invalid_docstring' | bash | |
numpydoc validate numpydoc.tests.test_main._capture_stdout | |
echo '! numpydoc validate numpydoc.tests.test_main._docstring_with_errors' | bash | |
- name: Setup for doc build | |
run: | | |
sudo apt-get update | |
sudo apt install texlive texlive-latex-extra latexmk dvipng | |
- name: Build documentation | |
run: | | |
make -C doc html SPHINXOPTS="-nT" | |
make -C doc latexpdf SPHINXOPTS="-nT" |