Skip to content

Commit 47ac076

Browse files
authored
Merge pull request #58 from espnet/ci/run-every-demo
Run every demo weekly, two new demos, and a front page that matches
2 parents 47edf3a + 95f8c4d commit 47ac076

34 files changed

Lines changed: 1226 additions & 149 deletions
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Runs one notebook. Called by the per-notebook workflows beside this file.
2+
#
3+
# One workflow per notebook, rather than one matrix over all of them, because
4+
# a badge is per workflow: GitHub has no way to show the status of one job in
5+
# a matrix. A table of notebooks with a badge each is worth nine small files
6+
# that do nothing but name their notebook and call this.
7+
8+
name: run one notebook
9+
10+
on:
11+
workflow_call:
12+
inputs:
13+
notebook:
14+
required: true
15+
type: string
16+
17+
permissions:
18+
contents: read
19+
20+
jobs:
21+
run:
22+
runs-on: ubuntu-latest
23+
timeout-minutes: 90
24+
steps:
25+
# See the espnet repository's CI: the default persists GITHUB_TOKEN in
26+
# .git/config, and nothing here needs it.
27+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
28+
with:
29+
persist-credentials: false
30+
31+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
32+
with:
33+
python-version: "3.12"
34+
35+
- name: Install
36+
run: |
37+
set -euo pipefail
38+
python -m pip install --upgrade pip
39+
# the harness itself, before it can be asked anything
40+
python -m pip install nbclient nbformat ipykernel \
41+
librosa scikit-learn matplotlib tqdm soundfile editdistance
42+
# then what this notebook's own pip lines ask for. The runner skips
43+
# those cells, so installing a different espnet from the one a
44+
# reader gets would make a pass here mean nothing.
45+
python -m pip install $(python tools/run_notebook.py \
46+
"${{ inputs.notebook }}" --print-install)
47+
# and what it clones and installs - VERSA and ParallelWaveGAN are
48+
# on nobody's index. --no-build-isolation because ParallelWaveGAN's
49+
# setup.py imports pip, which an isolated build does not have.
50+
from_git=$(python tools/run_notebook.py \
51+
"${{ inputs.notebook }}" --print-git-install)
52+
if [ -n "$from_git" ]; then
53+
python -m pip install --no-build-isolation $from_git
54+
fi
55+
56+
- name: Run ${{ inputs.notebook }}
57+
run: python tools/run_notebook.py "${{ inputs.notebook }}" --timeout 4800

‎.github/workflows/asr_demo.yml‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Demos/asr_demo.ipynb, every Sunday. The badge on this workflow is what the
2+
# README shows beside that notebook, which is why it has a file of its own:
3+
# GitHub's badge is per workflow, and cannot show one job of a matrix.
4+
5+
name: asr_demo
6+
7+
on:
8+
schedule:
9+
# Sundays, 05:00 UTC
10+
- cron: "0 5 * * 0"
11+
workflow_dispatch:
12+
pull_request:
13+
paths:
14+
- "Demos/asr_demo.ipynb"
15+
- "tools/**"
16+
- ".github/workflows/asr_demo.yml"
17+
- ".github/workflows/_run_notebook.yml"
18+
19+
permissions:
20+
contents: read
21+
22+
jobs:
23+
run:
24+
uses: ./.github/workflows/_run_notebook.yml
25+
with:
26+
notebook: Demos/asr_demo.ipynb
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Demos/asr_streaming_demo.ipynb, every Sunday. The badge on this workflow is what the
2+
# README shows beside that notebook, which is why it has a file of its own:
3+
# GitHub's badge is per workflow, and cannot show one job of a matrix.
4+
5+
name: asr_streaming_demo
6+
7+
on:
8+
schedule:
9+
# Sundays, 05:00 UTC
10+
- cron: "0 5 * * 0"
11+
workflow_dispatch:
12+
pull_request:
13+
paths:
14+
- "Demos/asr_streaming_demo.ipynb"
15+
- "tools/**"
16+
- ".github/workflows/asr_streaming_demo.yml"
17+
- ".github/workflows/_run_notebook.yml"
18+
19+
permissions:
20+
contents: read
21+
22+
jobs:
23+
run:
24+
uses: ./.github/workflows/_run_notebook.yml
25+
with:
26+
notebook: Demos/asr_streaming_demo.ipynb

‎.github/workflows/codec_demo.yml‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Demos/codec_demo.ipynb, every Sunday. The badge on this workflow is what the
2+
# README shows beside that notebook, which is why it has a file of its own:
3+
# GitHub's badge is per workflow, and cannot show one job of a matrix.
4+
5+
name: codec_demo
6+
7+
on:
8+
schedule:
9+
# Sundays, 05:00 UTC
10+
- cron: "0 5 * * 0"
11+
workflow_dispatch:
12+
pull_request:
13+
paths:
14+
- "Demos/codec_demo.ipynb"
15+
- "tools/**"
16+
- ".github/workflows/codec_demo.yml"
17+
- ".github/workflows/_run_notebook.yml"
18+
19+
permissions:
20+
contents: read
21+
22+
jobs:
23+
run:
24+
uses: ./.github/workflows/_run_notebook.yml
25+
with:
26+
notebook: Demos/codec_demo.ipynb

‎.github/workflows/enh_demo.yml‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Demos/enh_demo.ipynb, every Sunday. The badge on this workflow is what the
2+
# README shows beside that notebook, which is why it has a file of its own:
3+
# GitHub's badge is per workflow, and cannot show one job of a matrix.
4+
5+
name: enh_demo
6+
7+
on:
8+
schedule:
9+
# Sundays, 05:00 UTC
10+
- cron: "0 5 * * 0"
11+
workflow_dispatch:
12+
pull_request:
13+
paths:
14+
- "Demos/enh_demo.ipynb"
15+
- "tools/**"
16+
- ".github/workflows/enh_demo.yml"
17+
- ".github/workflows/_run_notebook.yml"
18+
19+
permissions:
20+
contents: read
21+
22+
jobs:
23+
run:
24+
uses: ./.github/workflows/_run_notebook.yml
25+
with:
26+
notebook: Demos/enh_demo.ipynb

‎.github/workflows/run_notebooks.yml‎

Lines changed: 0 additions & 58 deletions
This file was deleted.

‎.github/workflows/sds_demo.yml‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Demos/sds_demo.ipynb, every Sunday. The badge on this workflow is what the
2+
# README shows beside that notebook, which is why it has a file of its own:
3+
# GitHub's badge is per workflow, and cannot show one job of a matrix.
4+
5+
name: sds_demo
6+
7+
on:
8+
schedule:
9+
# Sundays, 05:00 UTC
10+
- cron: "0 5 * * 0"
11+
workflow_dispatch:
12+
pull_request:
13+
paths:
14+
- "Demos/sds_demo.ipynb"
15+
- "tools/**"
16+
- ".github/workflows/sds_demo.yml"
17+
- ".github/workflows/_run_notebook.yml"
18+
19+
permissions:
20+
contents: read
21+
22+
jobs:
23+
run:
24+
uses: ./.github/workflows/_run_notebook.yml
25+
with:
26+
notebook: Demos/sds_demo.ipynb
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Courses/CMUSpeechTechnology26S/speaker_verification.ipynb, every Sunday. The badge on this workflow is what the
2+
# README shows beside that notebook, which is why it has a file of its own:
3+
# GitHub's badge is per workflow, and cannot show one job of a matrix.
4+
5+
name: speaker_verification
6+
7+
on:
8+
schedule:
9+
# Sundays, 05:00 UTC
10+
- cron: "0 5 * * 0"
11+
workflow_dispatch:
12+
pull_request:
13+
paths:
14+
- "Courses/CMUSpeechTechnology26S/speaker_verification.ipynb"
15+
- "tools/**"
16+
- ".github/workflows/speaker_verification.yml"
17+
- ".github/workflows/_run_notebook.yml"
18+
19+
permissions:
20+
contents: read
21+
22+
jobs:
23+
run:
24+
uses: ./.github/workflows/_run_notebook.yml
25+
with:
26+
notebook: Courses/CMUSpeechTechnology26S/speaker_verification.ipynb

‎.github/workflows/spk_demo.yml‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Demos/spk_demo.ipynb, every Sunday. The badge on this workflow is what the
2+
# README shows beside that notebook, which is why it has a file of its own:
3+
# GitHub's badge is per workflow, and cannot show one job of a matrix.
4+
5+
name: spk_demo
6+
7+
on:
8+
schedule:
9+
# Sundays, 05:00 UTC
10+
- cron: "0 5 * * 0"
11+
workflow_dispatch:
12+
pull_request:
13+
paths:
14+
- "Demos/spk_demo.ipynb"
15+
- "tools/**"
16+
- ".github/workflows/spk_demo.yml"
17+
- ".github/workflows/_run_notebook.yml"
18+
19+
permissions:
20+
contents: read
21+
22+
jobs:
23+
run:
24+
uses: ./.github/workflows/_run_notebook.yml
25+
with:
26+
notebook: Demos/spk_demo.ipynb

‎.github/workflows/st_demo.yml‎

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Demos/st_demo.ipynb, every Sunday. The badge on this workflow is what the
2+
# README shows beside that notebook, which is why it has a file of its own:
3+
# GitHub's badge is per workflow, and cannot show one job of a matrix.
4+
5+
name: st_demo
6+
7+
on:
8+
schedule:
9+
# Sundays, 05:00 UTC
10+
- cron: "0 5 * * 0"
11+
workflow_dispatch:
12+
pull_request:
13+
paths:
14+
- "Demos/st_demo.ipynb"
15+
- "tools/**"
16+
- ".github/workflows/st_demo.yml"
17+
- ".github/workflows/_run_notebook.yml"
18+
19+
permissions:
20+
contents: read
21+
22+
jobs:
23+
run:
24+
uses: ./.github/workflows/_run_notebook.yml
25+
with:
26+
notebook: Demos/st_demo.ipynb

0 commit comments

Comments
 (0)