use upsert for targetphot files #288
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: | |
jobs: | |
tests: | |
name: Unit tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: true | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.10'] # , '3.11'] The 3.11 tests take a long time, so skip for now. | |
numpy-version: ['<1.23'] # , '<2.0'] Need to find a scipy version that works for 3.11 and pre-2.0 numpy | |
astropy-version: ['<6.1', '<7.0'] | |
env: | |
# Versions correspond to desimodules/24.6 | |
DESIUTIL_VERSION: '3.4.2' | |
DESISPEC_VERSION: '0.63.7' | |
DESITARGET_VERSION: '2.7.0' | |
DESIMODEL_VERSION: '0.19.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 git+https://github.com/desihub/desiutil.git@${DESIUTIL_VERSION}#egg=desiutil | |
python -m pip install git+https://github.com/desihub/desispec.git@${DESISPEC_VERSION}#egg=desispec | |
python -m pip install git+https://github.com/desihub/desitarget.git@${DESITARGET_VERSION}#egg=desitarget | |
python -m pip install git+https://github.com/desihub/desimodel.git@${DESIMODEL_VERSION}#egg=desimodel | |
python -m pip install --upgrade "numpy${{ matrix.numpy-version }}" | |
python -m pip install --upgrade "astropy${{ matrix.astropy-version }}" 'scipy<1.13' fitsio numba | |
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'] | |
env: | |
DESIUTIL_VERSION: '3.4.2' | |
DESISPEC_VERSION: '0.63.7' | |
DESITARGET_VERSION: '2.7.0' | |
DESIMODEL_VERSION: '0.19.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 git+https://github.com/desihub/desiutil.git@${DESIUTIL_VERSION}#egg=desiutil | |
python -m pip install git+https://github.com/desihub/desispec.git@${DESISPEC_VERSION}#egg=desispec | |
python -m pip install git+https://github.com/desihub/desitarget.git@${DESITARGET_VERSION}#egg=desitarget | |
python -m pip install git+https://github.com/desihub/desimodel.git@${DESIMODEL_VERSION}#egg=desimodel | |
python -m pip install --upgrade "numpy${{ matrix.numpy-version }}" | |
python -m pip install --upgrade "astropy${{ matrix.astropy-version }}" 'scipy<1.13' fitsio numba | |
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'] | |
env: | |
DESIUTIL_VERSION: '3.4.2' | |
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 git+https://github.com/desihub/desiutil.git@${DESIUTIL_VERSION}#egg=desiutil | |
- name: Generate api.rst | |
run: desi_api_file --api ./api.rst specprodDB | |
- name: Compare generated api.rst to checked-in version | |
run: diff --ignore-space-change --ignore-blank-lines ./api.rst ./doc/api.rst | |
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 | |
# Uncomment continue-on-error to allow failures. | |
# continue-on-error: true | |
run: pycodestyle --count py/specprodDB |