3232 description : " Branch of Coqpit to test"
3333 required : false
3434 default : " main"
35- paths-ignore :
36- - ' .gitignore'
37- - ' CITATION.cff'
38- - ' CODE_OF_CONDUCT.md'
39- - ' CONTRIBUTING.md'
40- - ' LICENSE.txt'
41- - ' README.md'
42- - ' images/**'
4335
4436jobs :
4537 unit :
4638 runs-on : ubuntu-latest
4739 strategy :
4840 fail-fast : false
4941 matrix :
50- python-version : ["3.10", "3.11", "3.12", "3.13"]
51- subset : ["data_tests", "inference_tests", "test_aux", "test_text"]
42+ python-version : ["3.10", "3.11", "3.12", "3.13", "3.14"]
43+ subset : ["data_tests", "inference_tests", "test_aux", "test_text", "test_tts", "test_vc", "test_vocoder"]
44+ uv-resolution : ["highest", "lowest-direct"]
45+ exclude :
46+ - python-version : " 3.10"
47+ uv-resolution : " highest"
48+ - python-version : " 3.11"
49+ uv-resolution : " lowest-direct"
50+ - python-version : " 3.12"
51+ uv-resolution : " lowest-direct"
52+ - python-version : " 3.13"
53+ uv-resolution : " lowest-direct"
54+ - python-version : " 3.14"
55+ uv-resolution : " lowest-direct"
5256 steps :
53- - uses : actions/checkout@v4
57+ - uses : actions/checkout@v6
5458 - name : Setup uv
5559 uses : ./.github/actions/setup-uv
5660 - name : Install Espeak
@@ -71,14 +75,11 @@ jobs:
7175 uv add git+https://github.com/idiap/coqui-ai-coqpit --branch ${{ github.event.inputs.coqpit_branch }}
7276 fi
7377 - name : Unit tests
74- run : |
75- resolution=highest
76- if [ "${{ matrix.python-version }}" == "3.10" ]; then
77- resolution=lowest-direct
78- fi
79- uv run --resolution=$resolution --extra codec --extra server --extra languages make ${{ matrix.subset }}
78+ run : >
79+ uv run --resolution=${{ matrix.uv-resolution }} --extra cpu
80+ --extra codec --extra server --extra languages make ${{ matrix.subset }}
8081 - name : Upload coverage data
81- uses : actions/upload-artifact@v4
82+ uses : actions/upload-artifact@v6
8283 with :
8384 include-hidden-files : true
8485 name : coverage-data-${{ matrix.subset }}-${{ matrix.python-version }}
@@ -88,10 +89,16 @@ jobs:
8889 strategy :
8990 fail-fast : false
9091 matrix :
91- python-version : ["3.10", "3.13"]
92- shard : [0, 1, 2, 3, 4]
92+ shard : [0, 1, 2, 3, 4, 5]
93+ python-version : ["3.10", "3.14"]
94+ uv-resolution : ["highest", "lowest-direct"]
95+ exclude :
96+ - python-version : " 3.10"
97+ uv-resolution : " highest"
98+ - python-version : " 3.14"
99+ uv-resolution : " lowest-direct"
93100 steps :
94- - uses : actions/checkout@v4
101+ - uses : actions/checkout@v6
95102 - name : Setup uv
96103 uses : ./.github/actions/setup-uv
97104 - name : Install Espeak
@@ -112,16 +119,16 @@ jobs:
112119 fi
113120 - name : Integration tests for shard ${{ matrix.shard }}
114121 run : |
115- uv run pytest tests/integration --collect-only --quiet | grep "::" > integration_tests.txt
116- total_shards=5
122+ uv run --extra cpu --extra codec \
123+ pytest tests/integration --collect-only --quiet | \
124+ grep "::" > integration_tests.txt
125+ total_shards=6
117126 shard_tests=$(awk "NR % $total_shards == ${{ matrix.shard }}" integration_tests.txt)
118- resolution=highest
119- if [ "${{ matrix.python-version }}" == "3.10" ]; then
120- resolution=lowest-direct
121- fi
122- uv run --resolution=$resolution --extra codec --extra languages coverage run -m pytest -x -v --durations=0 $shard_tests
127+ uv run --resolution=${{ matrix.uv-resolution }} --extra cpu \
128+ --extra codec --extra languages coverage run -m \
129+ pytest -x -v --durations=0 $shard_tests
123130 - name : Upload coverage data
124- uses : actions/upload-artifact@v4
131+ uses : actions/upload-artifact@v6
125132 with :
126133 include-hidden-files : true
127134 name : coverage-data-integration-${{ matrix.shard }}-${{ matrix.python-version }}
@@ -131,10 +138,10 @@ jobs:
131138 strategy :
132139 fail-fast : false
133140 matrix :
134- python-version : ["3.13 "]
141+ python-version : ["3.14 "]
135142 partition : ["0", "1", "2"]
136143 steps :
137- - uses : actions/checkout@v4
144+ - uses : actions/checkout@v6
138145 - name : Setup uv
139146 uses : ./.github/actions/setup-uv
140147 - name : Install Espeak
@@ -154,25 +161,53 @@ jobs:
154161 uv add git+https://github.com/idiap/coqui-ai-coqpit --branch ${{ github.event.inputs.coqpit_branch }}
155162 fi
156163 - name : Zoo tests
157- run : uv run --extra codec --extra server --extra languages make test_zoo
164+ run : uv run --extra cpu --extra codec --extra server --extra languages make test_zoo
158165 env :
159166 NUM_PARTITIONS : 3
160167 TEST_PARTITION : ${{ matrix.partition }}
161168 - name : Upload coverage data
162- uses : actions/upload-artifact@v4
169+ uses : actions/upload-artifact@v6
163170 with :
164171 include-hidden-files : true
165172 name : coverage-data-zoo-${{ matrix.partition }}
166173 path : .coverage.*
174+ notebook :
175+ runs-on : ubuntu-latest
176+ strategy :
177+ fail-fast : false
178+ matrix :
179+ python-version : ["3.14"]
180+ steps :
181+ - uses : actions/checkout@v6
182+ - name : Setup uv
183+ uses : ./.github/actions/setup-uv
184+ - name : Install Espeak
185+ run : |
186+ sudo apt-get update
187+ sudo apt-get install espeak espeak-ng
188+ - name : Install dependencies
189+ run : |
190+ sudo apt-get install -y --no-install-recommends git make gcc
191+ make system-deps
192+ - name : Install custom Trainer and/or Coqpit if requested
193+ run : |
194+ if [[ -n "${{ github.event.inputs.trainer_branch }}" ]]; then
195+ uv add git+https://github.com/idiap/coqui-ai-Trainer --branch ${{ github.event.inputs.trainer_branch }}
196+ fi
197+ if [[ -n "${{ github.event.inputs.coqpit_branch }}" ]]; then
198+ uv add git+https://github.com/idiap/coqui-ai-coqpit --branch ${{ github.event.inputs.coqpit_branch }}
199+ fi
200+ - name : Notebook tests
201+ run : make test_notebook
167202 coverage :
168203 if : always()
169204 needs : [unit, integration, zoo]
170205 runs-on : ubuntu-latest
171206 steps :
172- - uses : actions/checkout@v4
207+ - uses : actions/checkout@v6
173208 - name : Setup uv
174209 uses : ./.github/actions/setup-uv
175- - uses : actions/download-artifact@v4
210+ - uses : actions/download-artifact@v7
176211 with :
177212 pattern : coverage-data-*
178213 merge-multiple : true
0 commit comments