Add config to WandB #705
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
# Continuous integration | |
name: CI | |
on: | |
pull_request: | |
types: [opened, reopened, synchronize] | |
paths: | |
- "sleap_nn/**" | |
- "tests/**" | |
- ".github/workflows/ci.yml" | |
- "environment_cpu.yml" | |
- "environment_mac.yml" | |
- "pyproject.toml" | |
defaults: | |
# This is needed for running steps within conda environments. | |
run: | |
shell: bash -l {0} | |
jobs: | |
# Lint with black, docstring check with pydocstyle, static type checking with mypy | |
lint: | |
# This job runs: | |
# | |
# 1. Linting with black | |
# | |
# 2. Docstring style checking with pydocstyle | |
# Note: This uses Google-style docstring convention | |
# Ref: https://google.github.io/styleguide/pyguide.html | |
name: Lint | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.9 | |
- name: Install dependencies | |
run: | | |
pip install --editable .[dev] | |
- name: Run Black | |
run: | | |
black --check sleap_nn tests | |
- name: Run ruff | |
run: | | |
ruff check sleap_nn/ | |
# Tests with pytest | |
tests: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-latest", "windows-latest", "macos-14"] | |
python: [3.9] | |
include: | |
# Default values | |
- env_file: environment_cpu.yml | |
# Mac specific values | |
- os: macos-14 | |
env_file: environment_mac.yml | |
name: Tests (${{ matrix.os }}, Python ${{ matrix.python }}) | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
- name: Setup Conda | |
uses: conda-incubator/setup-miniconda@v3 | |
with: | |
miniforge-version: latest | |
conda-solver: "libmamba" | |
environment-file: ${{ matrix.env_file }} | |
activate-environment: sleap-nn | |
python-version: ${{ matrix.python }} | |
- name: Print environment info | |
shell: bash -l {0} | |
run: | | |
which python | |
conda info | |
conda list | |
pip freeze | |
- name: Test with pytest (with coverage) | |
shell: bash -l {0} | |
run: | | |
pytest --cov=sleap_nn --cov-report=xml --durations=-1 tests/ | |
- name: Upload coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: true | |
verbose: false | |
token: ${{ secrets.CODECOV_TOKEN }} |