2929
3030 runs-on : ubuntu-latest
3131 needs :
32- - test-linux
33- - test-other
32+ - test-container
33+ - test
3434 - example
3535 - format
3636 - lint
4444 if : contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result,
4545 ' skipped' )
4646
47- test-linux :
47+ test-container :
4848 name : >-
4949 Test Python ${{ matrix.python-version }}
5050 on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }}
9393 uses : astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
9494 with :
9595 enable-cache : true
96- cache-dependency-glob : |
97- **/pyproject.toml
98- **/uv.lock
9996
10097 - name : Install Python
10198 run : uv python install ${{ matrix.python-version }}
@@ -118,6 +115,10 @@ jobs:
118115 - name : Run tests
119116 run : hatch run test --broker-url=http://pactbroker:pactbroker@localhost:9292 --container
120117
118+ - name : Run tests (CLI)
119+ working-directory : pact-python-cli
120+ run : hatch run test
121+
121122 - name : Upload coverage
122123 if : matrix.python-version == env.STABLE_PYTHON_VERSION && matrix.os == 'ubuntu-latest'
123124 uses : codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
@@ -131,7 +132,7 @@ jobs:
131132 with :
132133 token : ${{ secrets.CODECOV_TOKEN }}
133134
134- test-other :
135+ test :
135136 name : >-
136137 Test Python ${{ matrix.python-version }}
137138 on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }}
@@ -142,8 +143,9 @@ jobs:
142143 fail-fast : false
143144 matrix :
144145 os :
145- - windows-latest
146146 - macos-latest
147+ - ubuntu-latest
148+ - windows-latest
147149 python-version :
148150 - ' 3.9'
149151 - ' 3.10'
@@ -167,9 +169,6 @@ jobs:
167169 uses : astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
168170 with :
169171 enable-cache : true
170- cache-dependency-glob : |
171- **/pyproject.toml
172- **/uv.lock
173172
174173 - name : Install Python
175174 run : uv python install ${{ matrix.python-version }}
@@ -180,6 +179,10 @@ jobs:
180179 - name : Run tests
181180 run : hatch run test
182181
182+ - name : Run tests (CLI)
183+ working-directory : pact-python-cli
184+ run : hatch run test
185+
183186 example :
184187 name : Example
185188
@@ -205,9 +208,6 @@ jobs:
205208 uses : astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
206209 with :
207210 enable-cache : true
208- cache-dependency-glob : |
209- **/pyproject.toml
210- **/uv.lock
211211
212212 - name : Install Python
213213 run : uv python install ${{ env.STABLE_PYTHON_VERSION }}
@@ -255,9 +255,6 @@ jobs:
255255 uses : astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
256256 with :
257257 enable-cache : true
258- cache-dependency-glob : |
259- **/pyproject.toml
260- **/uv.lock
261258
262259 - name : Install Python
263260 run : uv python install ${{ env.STABLE_PYTHON_VERSION }}
@@ -268,6 +265,10 @@ jobs:
268265 - name : Format
269266 run : hatch run format
270267
268+ - name : Format (CLI)
269+ working-directory : pact-python-cli
270+ run : hatch run format
271+
271272 lint :
272273 name : Lint
273274
@@ -280,9 +281,6 @@ jobs:
280281 uses : astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
281282 with :
282283 enable-cache : true
283- cache-dependency-glob : |
284- **/pyproject.toml
285- **/uv.lock
286284
287285 - name : Install Python
288286 run : uv python install ${{ env.STABLE_PYTHON_VERSION }}
@@ -293,6 +291,10 @@ jobs:
293291 - name : Format
294292 run : hatch run lint
295293
294+ - name : Format (CLI)
295+ working-directory : pact-python-cli
296+ run : hatch run lint
297+
296298 typecheck :
297299 name : Typecheck
298300
@@ -305,17 +307,18 @@ jobs:
305307 uses : astral-sh/setup-uv@7edac99f961f18b581bbd960d59d049f04c0002f # v6.4.1
306308 with :
307309 enable-cache : true
308- cache-dependency-glob : |
309- **/pyproject.toml
310- **/uv.lock
311310
312311 - name : Install Python
313312 run : uv python install ${{ env.STABLE_PYTHON_VERSION }}
314313
315314 - name : Install Hatch
316315 run : uv tool install hatch
317316
318- - name : Format
317+ - name : Typecheck
318+ run : hatch run typecheck
319+
320+ - name : Typecheck (CLI)
321+ working-directory : pact-python-cli
319322 run : hatch run typecheck
320323
321324 spelling :
0 commit comments