Added final test (final version of user script before I leave) #483
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
name: CI | |
# by not building all branches on push, we avoid the duplicated builds in PRs | |
on: | |
push: | |
# TODO | |
# Remove comment: just a test to force CI on push | |
# branches: | |
# - main | |
# tags: | |
# - '**' | |
pull_request: | |
env: | |
NUMBA_NUM_THREADS: 1 | |
MPLBACKEND: Agg | |
PYTEST_ADDOPTS: --color=yes | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
name: Lint | |
steps: | |
- name: Check out source repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python environment | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
- name: Runs pre-commit hooks | |
uses: pre-commit/action@v3.0.1 | |
with: | |
extra_args: --files $(git diff origin/main --name-only) | |
tests: | |
runs-on: ${{ matrix.os }} | |
needs: lint | |
strategy: | |
matrix: | |
include: | |
- os: "ubuntu-latest" | |
python-version: "3.9" | |
ctapipe-version: "v0.19.3" | |
install-method: "mamba" | |
- os: "ubuntu-latest" | |
python-version: "3.10" | |
ctapipe-version: "v0.19.3" | |
install-method: "mamba" | |
- os: "ubuntu-latest" | |
python-version: "3.10" | |
ctapipe-version: "v0.19.3" | |
install-method: "pip" | |
- os: "ubuntu-latest" | |
python-version: "3.11" | |
ctapipe-version: "v0.19.3" | |
install-method: "mamba" | |
- os: "ubuntu-latest" | |
python-version: "3.11" | |
ctapipe-version: "v0.19.3" | |
install-method: "pip" | |
# macos 14 image is arm64 based | |
- os: "macos-14" | |
python-version: "3.11" | |
ctapipe-version: "v0.19.3" | |
install-method: "mamba" | |
defaults: | |
run: | |
# We need login shells (-l) for micromamba to work. | |
shell: bash -leo pipefail {0} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set Python version | |
env: | |
PYTHON_VERSION: ${{ matrix.python-version }} | |
run: | | |
sed -i -e "s/- python=.*/- python=$PYTHON_VERSION/g" environment.yml | |
- name: Mamba setup | |
if: matrix.install-method == 'mamba' | |
uses: mamba-org/setup-micromamba@v2 | |
with: | |
environment-name: "ci" | |
environment-file: environment.yml | |
- name: Python setup | |
if: matrix.install-method == 'pip' | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
check-latest: true | |
- name: Install dependencies | |
env: | |
CTAPIPE_VERSION: ${{ matrix.ctapipe-version }} | |
run: | | |
python --version | |
echo "Installing additional pip packages" | |
# we install ctapipe using pip to be able to select any commit, e.g. the current main | |
pip install \ | |
"git+https://github.com/cta-observatory/ctapipe@$CTAPIPE_VERSION" | |
echo "pip install -e ." | |
pip install -e .[test] | |
- name: Tests | |
run: | | |
pytest -n auto --dist loadscope --cov=nectarchain --cov-report=xml --ignore=src/nectarchain/user_scripts | |
- uses: codecov/codecov-action@v4 | |
docs: | |
needs: lint | |
permissions: | |
contents: write | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.9 | |
- name: Install doc dependencies | |
run: | | |
pip install -e .[docs] | |
# git describe --tags | |
python -c 'import nectarchain; print(nectarchain.__version__)' | |
- name: Build docs | |
run: make -C docs html |