Merge pull request #92 from desihub/updates-for-kibo #150
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: | |
- '*' | |
pull_request: | |
branches: | |
- '*' | |
jobs: | |
tests: | |
name: Unit tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ubuntu-latest] # Add more os? | |
python-version: ['3.8', '3.9'] | |
astropy-version: ['<5.0', '<5.1'] | |
numpy-version: ['<1.20', '<1.21', '<1.22'] | |
scipy-version: ['<1.6', '<1.7'] | |
# matplotlib >= 3.3 brings in a dependency on Pillow, which requires numpy >= 1.21 unless it's pinned to Pillow<10.4. | |
matplotlib-version: ['<3.4', '<3.5'] | |
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 wheel setuptools | |
python -m pip install pytest pytest-astropy pyyaml Pillow\<10.4 | |
python -m pip install 'scipy${{ matrix.scipy-version }}' | |
python -m pip install 'matplotlib${{ matrix.matplotlib-version }}' | |
python -m pip install 'astropy${{ matrix.astropy-version }}' | |
python -m pip install 'numpy${{ matrix.numpy-version }}' | |
- name: Run the test | |
run: pytest | |
# | |
# Temporarily use coverage to test more recent versions. | |
# Note that Astropy>=5.1 introduces an ordering change in unit display, which | |
# causes doctest failures. | |
# | |
coverage: | |
name: Test coverage | |
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 wheel setuptools | |
python -m pip install pytest pytest-astropy pyyaml coveralls | |
python -m pip install numpy\<1.23 scipy\<1.9 matplotlib\<3.9 astropy\<5.1 | |
- 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 wheel setuptools Sphinx\<8 | |
python -m pip install -e .[docs] | |
- name: Test the documentation | |
run: sphinx-build -W --keep-going -b html docs docs/_build/html | |
style: | |
name: Style 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 wheel setuptools flake8 | |
- name: Test the style | |
# If allowed failures are needed, uncomment continue-on-error. | |
# continue-on-error: true | |
run: flake8 speclite --count --max-line-length=100 | |
# | |
# Temporary test to make sure the package can at least be installed | |
# for more recent Python versions. | |
# | |
install: | |
name: Installation test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.10', '3.11', '3.12'] | |
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 wheel setuptools | |
python -m pip install numpy\<2.0 scipy matplotlib astropy pyyaml | |
- name: Test installing from the checkout | |
run: python -m pip install . | |
- name: Run a script that should have been installed | |
run: speclite_benchmark --all |