Skip to content

add libsnd dep

add libsnd dep #18

Workflow file for this run

name: CI
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build-and-test-standard:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
[
ubuntu-slim,
ubuntu-24.04,
ubuntu-24.04-arm,
macos-15,
macos-15-intel,
windows-2025,
]
python-version: ["3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Install audio system libs (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt-get update
sudo apt-get install -y libsndfile1
- name: Install audio system libs (macOS)
if: startsWith(matrix.os, 'macos')
run: |
brew update
brew install libsndfile
- name: Install audio system libs (Windows)
if: startsWith(matrix.os, 'windows')
run: |
choco install libsndfile
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Upgrade pip
run: python -m pip install --upgrade pip
- name: Install dependencies
run: |
python -m pip install uv build --upgrade
python -m uv pip install twine build --upgrade
python -m uv pip install --system .[tests]
# - name: Run linters
# run: |
# ruff check src/birdnet
# ruff check src/birdnet_tests
# - name: Type checking
# run: mypy
- name: Download models
run: |
pytest -m "not repro and load_model" -n auto --max-worker-restart=0
- name: Run standard tests
run: |
pytest -m "not repro and not load_model and (not litert and not gpu)" -n auto --max-worker-restart=0
- name: Run LiteRT tests
run: |
pytest -m "not repro and not load_model and litert" -n auto --max-worker-restart=0
- name: Test build
run: |
python -m build -o dist/
python -m twine check dist/*
build-and-test-repro:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
[
ubuntu-slim,
ubuntu-24.04,
ubuntu-24.04-arm,
macos-15,
macos-15-intel,
windows-2025,
]
python-version: ["3.12"]
steps:
- uses: actions/checkout@v4
- name: Install audio system libs (Linux)
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt-get update
sudo apt-get install -y libsndfile1
- name: Install audio system libs (macOS)
if: startsWith(matrix.os, 'macos')
run: |
brew update
brew install libsndfile
- name: Install audio system libs (Windows)
if: startsWith(matrix.os, 'windows')
run: |
choco install libsndfile
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Upgrade pip
run: python -m pip install --upgrade pip
- name: Install dependencies
run: |
python -m pip install uv build --upgrade
python -m uv pip install --system .[tests,repro]
- name: Download models
run: |
pytest -m "load_model" -n auto --max-worker-restart=0
- name: Run standard tests incl. repro tests
run: |
pytest -m "not load_model and (not litert and not gpu)" -n auto --max-worker-restart=0
- name: Run LiteRT tests incl. repro tests
run: |
pytest -m "not load_model and litert" -n auto --max-worker-restart=0
- name: Test build
run: |
python -m build -o dist/
python -m twine check dist/*