fix typo #388
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
# Workflow is based on the Astropy GitHub actions workflow, ci_workflows.yml | |
name: CI | |
on: | |
push: | |
branches: | |
- '*' | |
tags: | |
- '*' | |
pull_request: | |
# 2025-01-07 | |
# NERSC has Python 3.10, Numpy 1.22.4, Scipy 1.8.1, matplotlib 3.8.4, astropy 6.0.1, healpy 1.16.6, PyYAML 6.0.1 | |
# PyPI has Python 3.13, Numpy 2.2.1, Scipy 1.15.0, matplotlib 3.10.0, astropy 7.0.0, healpy 1.18.0, PyYAML 6.0.2 | |
# Numpy 1.26.4 was the last pre-2.0 Numpy. | |
# | |
jobs: | |
tests: | |
name: Unit tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.10', '3.11', '3.12', '3.13'] | |
numpy-version: ['<1.23', '<1.24', '<2.0', '<2.1', '<2.2', '<3'] | |
astropy-version: ['<6.1', '<7.0', '<7.1'] | |
exclude: | |
- os: ubuntu-latest | |
python-version: '3.10' | |
numpy-version: '<1.24' | |
astropy-version: '<7.0' | |
- os: ubuntu-latest | |
python-version: '3.10' | |
numpy-version: '<2.0' | |
astropy-version: '<7.0' | |
- os: ubuntu-latest | |
python-version: '3.10' | |
numpy-version: '<2.1' | |
astropy-version: '<7.0' | |
- os: ubuntu-latest | |
python-version: '3.10' | |
numpy-version: '<2.2' | |
astropy-version: '<7.0' | |
- os: ubuntu-latest | |
python-version: '3.10' | |
numpy-version: '<3' | |
astropy-version: '<7.0' | |
- os: ubuntu-latest | |
python-version: '3.10' | |
numpy-version: '<1.23' | |
astropy-version: '<7.1' | |
- os: ubuntu-latest | |
python-version: '3.10' | |
numpy-version: '<1.24' | |
astropy-version: '<7.1' | |
- os: ubuntu-latest | |
python-version: '3.10' | |
numpy-version: '<2.0' | |
astropy-version: '<7.1' | |
- os: ubuntu-latest | |
python-version: '3.10' | |
numpy-version: '<2.1' | |
astropy-version: '<7.1' | |
- os: ubuntu-latest | |
python-version: '3.10' | |
numpy-version: '<2.2' | |
astropy-version: '<7.1' | |
- os: ubuntu-latest | |
python-version: '3.10' | |
numpy-version: '<3' | |
astropy-version: '<7.1' | |
- os: ubuntu-latest | |
python-version: '3.13' | |
numpy-version: '<1.23' | |
astropy-version: '<6.1' | |
- os: ubuntu-latest | |
python-version: '3.13' | |
numpy-version: '<1.24' | |
astropy-version: '<6.1' | |
- os: ubuntu-latest | |
python-version: '3.13' | |
numpy-version: '<2.0' | |
astropy-version: '<6.1' | |
- os: ubuntu-latest | |
python-version: '3.13' | |
numpy-version: '<2.1' | |
astropy-version: '<6.1' | |
- os: ubuntu-latest | |
python-version: '3.13' | |
numpy-version: '<2.2' | |
astropy-version: '<6.1' | |
- os: ubuntu-latest | |
python-version: '3.13' | |
numpy-version: '<1.23' | |
astropy-version: '<7.0' | |
- os: ubuntu-latest | |
python-version: '3.13' | |
numpy-version: '<1.24' | |
astropy-version: '<7.0' | |
- os: ubuntu-latest | |
python-version: '3.13' | |
numpy-version: '<2.0' | |
astropy-version: '<7.0' | |
- os: ubuntu-latest | |
python-version: '3.13' | |
numpy-version: '<2.1' | |
astropy-version: '<7.0' | |
- os: ubuntu-latest | |
python-version: '3.13' | |
numpy-version: '<2.2' | |
astropy-version: '<7.0' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Python dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
python -m pip install --upgrade --upgrade-strategy only-if-needed "numpy${{ matrix.numpy-version }}" | |
python -m pip install --upgrade --upgrade-strategy only-if-needed "astropy${{ matrix.astropy-version }}" | |
python -m pip install --editable .[test] | |
- name: Run the test | |
run: pytest | |
coverage: | |
name: Test coverage | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.10'] | |
numpy-version: ['<1.23'] | |
astropy-version: ['<6.1'] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Python dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
python -m pip install --upgrade --upgrade-strategy only-if-needed "numpy${{ matrix.numpy-version }}" | |
python -m pip install --upgrade --upgrade-strategy only-if-needed "astropy${{ matrix.astropy-version }}" | |
python -m pip install --editable .[coverage] | |
- name: Run the test with coverage | |
run: pytest --cov | |
- name: Coveralls | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} | |
run: coveralls | |
docs: | |
name: Doc test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.10'] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Python dependencies | |
run: python -m pip install --upgrade pip setuptools wheel Sphinx sphinx-rtd-theme | |
- name: Test the documentation | |
run: sphinx-build -W --keep-going -b html doc doc/_build/html | |
api: | |
name: API doc completeness test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.10'] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Python dependencies | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
python -m pip install --editable . | |
- name: Generate api.rst | |
run: ./bin/desi_api_file --api ./api.rst desiutil | |
- name: Compare generated api.rst to checked-in version | |
run: diff --ignore-space-change --ignore-blank-lines ./api.rst ./doc/api.rst | |
scripts: | |
name: Script definition completeness test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
python-version: | |
- '3.13' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Compare contents of bin/ to options.scripts in setup.cfg | |
run: python -c 'import os; import sys; from configparser import ConfigParser; conf = ConfigParser(); foo = conf.read(["setup.cfg"]); scripts = [os.path.basename(s) for s in conf["options"]["scripts"].strip().split("\n")]; sys.exit(int(set(os.listdir("bin")) != set(scripts)))' | |
style: | |
name: Style check | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.10'] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Python dependencies | |
run: python -m pip install --upgrade pip setuptools wheel pycodestyle | |
- name: Test the style; failures are allowed | |
# This is equivalent to an allowed falure. | |
# continue-on-error: true | |
run: pycodestyle --count py/desiutil |