-
Notifications
You must be signed in to change notification settings - Fork 11
57 lines (54 loc) · 2.13 KB
/
Copy pathci.yml
File metadata and controls
57 lines (54 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
name: CI
# Runs on every PR and on pushes to master. The heavy gesture notebooks are
# NOT run here (they are slow + data-heavy) -- see notebooks-nightly.yml.
on:
push:
branches: [master]
pull_request:
jobs:
unit:
name: Unit tests (helper packages)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
cache-dependency-path: requirements.txt
- name: Install pinned env + test extras
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -e ".[test]"
- name: Run pytest
run: pytest tests/ -v
notebooks-fast:
name: Notebook smoke tests (fast tier)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
cache-dependency-path: requirements.txt
- name: Install audio system lib (librosa/soundfile)
run: sudo apt-get update && sudo apt-get install -y libsndfile1
- name: Install pinned env + test extras
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -e ".[test]"
# nbmake executes each notebook in its own directory, so the repo-relative
# data loads (./Logs, data/audio/...) resolve. Intentional error cells are
# tagged `raises-exception` in the notebooks and are honored automatically.
#
# --nbmake-timeout=1800: the Frequency Analysis tutorial has a brute-force
# "DFT by correlation" demo over an 11 kHz audio chord (~2 min even on a fast
# machine). Shared runners vary a lot (this suite has run anywhere from ~3 to
# ~16 min), and on a slow one that cell crept past the old 900 s cap. 1800 s
# gives generous headroom; -n auto keeps the suite parallel so wall time stays
# reasonable.
- name: Execute fast notebooks (Tutorials + StepTracker)
run: pytest --nbmake --nbmake-timeout=1800 -n auto Tutorials/ Projects/StepTracker/