Skip to content

check actions checkout; plus a little code style #923

check actions checkout; plus a little code style

check actions checkout; plus a little code style #923

# Workflow is based on the Astropy GitHub actions workflow, ci_workflows.yml
name: CI
on:
push:
branches:
- '*'
tags:
- '*'
pull_request:
jobs:
tests:
name: Unit tests
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest]
python-version: ['3.10'] # ADM Python 3.11 still has problems with Numpy 1.23.
astropy-version: ['==5.0', '<6'] # ADM fuji+guadalupe version, latest.
fitsio-version: ['==1.1.6', '<2'] # ADM fuji+guadalupe version, latest.
numpy-version: ['<1.23'] # to keep asscalar, used by astropy.
matplotlib-version: ['<3.6.3'] # later versions of matplotlib require later versions of numpy.
env:
DESIUTIL_VERSION: 3.4.2
DESIMODEL_DATA: branches/test-0.18
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip wheel
python -m pip install pytest
python -m pip install git+https://github.com/desihub/desiutil.git@${DESIUTIL_VERSION}#egg=desiutil
python -m pip install -r requirements.txt
python -m pip install -U 'numpy${{ matrix.numpy-version }}'
python -m pip install -U 'astropy${{ matrix.astropy-version }}'
python -m pip install -U 'matplotlib${{ matrix.matplotlib-version }}'
python -m pip cache remove fitsio
python -m pip install --no-deps --force-reinstall --ignore-installed 'fitsio${{ matrix.fitsio-version }}'
svn export https://desi.lbl.gov/svn/code/desimodel/${DESIMODEL_DATA}/data
- name: Run the test
run: DESIMODEL=$(pwd) pytest
coverage:
name: Test coverage
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ['3.10'] # ADM Python 3.11 still has problems with Numpy 1.23.
astropy-version: ['<6'] # ADM latest version.
fitsio-version: ['<2'] # ADM latest version.
numpy-version: ['<1.23'] # to keep asscalar, used by astropy.
matplotlib-version: ['<3.6.3'] # later versions of matplotlib require later versions of numpy.
env:
DESIUTIL_VERSION: 3.4.2
DESIMODEL_DATA: branches/test-0.18
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip wheel
python -m pip install pytest\<7 pytest-cov\<4 coveralls
python -m pip install git+https://github.com/desihub/desiutil.git@${DESIUTIL_VERSION}#egg=desiutil
python -m pip install -r requirements.txt
python -m pip install -U 'numpy${{ matrix.numpy-version }}'
python -m pip install -U 'matplotlib${{ matrix.matplotlib-version }}'
python -m pip cache remove fitsio
python -m pip install --no-deps --force-reinstall --ignore-installed 'fitsio${{ matrix.fitsio-version }}'
svn export https://desi.lbl.gov/svn/code/desimodel/${DESIMODEL_DATA}/data
- name: Run the test with coverage
run: DESIMODEL=$(pwd) pytest --cov
- name: Coveralls
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_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@v2
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Python dependencies
run: python -m pip install --upgrade pip wheel Sphinx
- name: Test the documentation
run: sphinx-build -W --keep-going -b html doc doc/_build/html
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@v2
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Python dependencies
run: python -m pip install --upgrade pip wheel pycodestyle
- name: Test the style; failures are allowed
# This is equivalent to an allowed falure.
continue-on-error: true
run: pycodestyle --count py/desitarget