Skip to content

Conversation

@diazona
Copy link
Contributor

@diazona diazona commented Nov 10, 2025

We run a lot of tests in CI for such a small project, and in the past each tox environment has been run in a separate GitHub Actions job, but we don't really need to do that. The reason we've been splitting them up that way is to make it clear at a glance what configurations are failing when a CI run fails, but in practice we've never really had a failing workflow where we needed to look at all the different failing tox runs to understand the problem; looking at one failure is generally enough.

So, in this PR, I'm consolidating the GHA jobs into one per Python version which will run all the tox environments for that Python version. I'm also enabling the persistent pip package cache. These changes cut down a bit on the amount of setup work done by GHA, and they should also reduce the load we place on PyPI.

@diazona diazona added this to the 0.10 milestone Nov 10, 2025
@diazona diazona requested review from coordt and redtoad November 10, 2025 08:41
@diazona
Copy link
Contributor Author

diazona commented Nov 10, 2025

Note that with this change, when we see something like ubuntu-latest, 3.14, --force-dep pytest==7.3.2 in the GHA results list, that means it's running both with the latest allowed version of pytest (currently 8, I will be bumping it to 9 in another PR) and also with pytest==7.3.2. So we're not forgetting to run on modern pytest, even though it would look that way to someone used to reading older CI results.

I forgot to check if GitHub allows customizing the names that appear in the GHA results list, but I'll probably look into that before merging this.

We run a lot of tests in CI for such a small project, and in the past
each tox environment has been run in a separate GitHub Actions job,
but we don't really need to do that. The reason we've been splitting
them up that way is to make it clear at a glance what configurations are
failing when a CI run fails, but in practice we've never really had
a failing workflow where we needed to look at all the different failing
tox runs to understand the problem; looking at one failure is generally
enough.

So, in this commit, I'm consolidating the GHA jobs into one per Python
version which will run all the tox environments for that Python version.
This cuts down a bit on setup work, and might reduce the load on PyPI
a bit, since downloaded packages can potentially be cached across
different tox runs for the same Python version.
This commit enables persistence of the pip cache between different CI
jobs, which will further reduce the load on PyPI.
@diazona diazona force-pushed the consolidate-tests/1/dev branch from 854057c to 29b2195 Compare November 11, 2025 07:28
@diazona diazona merged commit 9bc3c59 into main Nov 11, 2025
13 checks passed
@diazona diazona deleted the consolidate-tests/1/dev branch November 11, 2025 07:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants