Skip to content

Merge pull request #173 from desihub/fix-ci #89

Merge pull request #173 from desihub/fix-ci

Merge pull request #173 from desihub/fix-ci #89

# 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]
# DESI 24.4 release
python-version: ['3.10']
fitsio-version: ['==1.2.1']
env:
DESIUTIL_VERSION: 3.4.2
DESIMODEL_DATA: branches/test-0.19
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 setuptools 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 -U --no-deps scipy
python -m pip cache remove fitsio
python -m pip install --no-deps --force-reinstall --ignore-installed 'fitsio${{ matrix.fitsio-version }}'
python -m pip install pyyaml requests
svn export https://desi.lbl.gov/svn/code/desimodel/${DESIMODEL_DATA}/data
# grab surveyops snapshot
wget -nv https://data.desi.lbl.gov/public/epo/example_files/surveyops_2.0_ops.tar.gz
tar xzf surveyops_2.0_ops.tar.gz
- name: Run the test
run: DESIMODEL=$(pwd) DESI_SURVEYOPS=$(pwd) pytest
coverage:
name: Test coverage
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest]
# DESI 24.4 release
python-version: ['3.10']
fitsio-version: ['==1.2.1']
env:
DESIUTIL_VERSION: 3.4.2
DESIMODEL_DATA: branches/test-0.17
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 setuptools wheel
python -m pip install pytest pytest-cov coveralls
python -m pip install git+https://github.com/desihub/desiutil.git@${DESIUTIL_VERSION}#egg=desiutil
python -m pip install -U --no-deps scipy
python -m pip cache remove fitsio
python -m pip install --no-deps --force-reinstall --ignore-installed 'fitsio${{ matrix.fitsio-version }}'
python -m pip install pyyaml requests
svn export https://desi.lbl.gov/svn/code/desimodel/${DESIMODEL_DATA}/data
# grab surveyops snapshot
wget -nv https://data.desi.lbl.gov/public/epo/example_files/surveyops_2.0_ops.tar.gz
tar xzf surveyops_2.0_ops.tar.gz
- name: Run the test with coverage
run: DESIMODEL=$(pwd) DESI_SURVEYOPS=$(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 setuptools wheel Sphinx
# run: python -m pip install --upgrade pip setuptools wheel docutils\<0.18 Sphinx==3.1.2
- 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/desimodel