(4->3) Add GUI Elements for Interacting With RecordingSession
#2738
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 using conda installation | |
name: CI | |
on: | |
pull_request: | |
types: [opened, reopened, synchronize] | |
paths: | |
- "sleap/**" | |
- "tests/**" | |
- ".github/workflows/ci.yml" | |
- "environment_no_cuda.yml" | |
- "requirements.txt" | |
- "dev_requirements.txt" | |
push: | |
branches: | |
- master | |
- develop | |
paths: | |
- "sleap/**" | |
- "tests/**" | |
- ".github/workflows/ci.yml" | |
- "environment_no_cuda.yml" | |
- "requirements.txt" | |
- "dev_requirements.txt" | |
jobs: | |
type_check: | |
name: Type Check | |
runs-on: "ubuntu-22.04" | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.7 | |
- name: Install Dependencies | |
run: | | |
pip install mypy | |
- name: Run MyPy | |
# TODO: remove this once all MyPy errors get fixed | |
continue-on-error: true | |
run: | | |
mypy --follow-imports=skip --ignore-missing-imports sleap tests | |
lint: | |
name: Lint | |
runs-on: "ubuntu-22.04" | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.7 | |
- name: Install Dependencies | |
run: | | |
pip install click==8.0.4 | |
pip install black==21.6b0 | |
- name: Run Black | |
run: | | |
black --check sleap tests | |
tests: | |
name: Tests (${{ matrix.os }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-22.04", "windows-2022", "macos-latest"] | |
include: | |
# Default values | |
- env_file: environment_no_cuda.yml | |
- test_args: --durations=-1 tests/ | |
# Mac specific values | |
- os: macos-latest | |
env_file: environment_mac.yml | |
# Ubuntu specific values | |
- os: ubuntu-22.04 | |
test_args: --cov=sleap --cov-report=xml --durations=-1 tests/ | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v3 | |
- name: Setup Micromamba | |
# https://github.com/mamba-org/setup-micromamba | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
micromamba-version: '1.4.6-0' | |
environment-file: ${{ matrix.env_file }} | |
environment-name: sleap_ci | |
init-shell: >- | |
bash | |
powershell | |
post-cleanup: all | |
# HACK(LM): Install correct version of opencv | |
- name: Reinstall opencv | |
shell: bash -l {0} | |
run: | | |
pip freeze | grep opencv | awk '{system("pip uninstall " $1 " -y")}' | |
pip install "opencv-contrib-python<4.7.0" | |
# Print environment info | |
- name: Print environment info | |
shell: bash -l {0} | |
run: | | |
which python | |
micromamba info | |
micromamba list | |
pip freeze | |
# Test the code and the environment | |
- name: Test with pytest | |
shell: bash -l {0} | |
run: | | |
pytest ${{ matrix.test_args }} | |
# Upload coverage | |
- name: Upload coverage | |
uses: codecov/codecov-action@v1 | |
if: matrix.os == 'ubuntu-22.04' | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
fail_ci_if_error: true | |
verbose: false |