dynamically test with all supported Python versions#10428
dynamically test with all supported Python versions#10428zacharyburnett wants to merge 3 commits into
Conversation
9957461 to
2b1d4e0
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #10428 +/- ##
==========================================
- Coverage 86.59% 86.58% -0.01%
==========================================
Files 374 374
Lines 40471 40459 -12
==========================================
- Hits 35047 35033 -14
- Misses 5424 5426 +2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This comment was marked as resolved.
This comment was marked as resolved.
2b1d4e0 to
455ae2d
Compare
| - linux: py3-stdevdeps-xdist | ||
| - linux: py3-devdeps-xdist | ||
| - macos: py3-stdevdeps-xdist | ||
| - macos: py3-devdeps-xdist |
There was a problem hiding this comment.
these run devdeps tests on the latest available Python version
|
How will this interact with the github settings that specify which CI are required and which aren't? If they are generated programmatically, are we no longer allowed to say which one must complete successfully? |
You are allowed but you have to react fast with the branch protection rules when the values change to unblock PRs. |
Currently, when we want to change the versions of Python that a package supports, we go through the following process:
This PR simply automates step 2. I've been thinking for a while about how we can also remove the necessity for step 3. The problem is that the repository ruleset of required status checks takes a list of exact job names, so if a job name includes the version of Python in it (i.e. The question is whether we want to keep requiring ALL python versions, in which case we'll need to keep updating the ruleset manually when new python versions come out, or if we want to only require the oldest supported and latest supported versions of Python for a job to be merge-able (though we should still strive for all python versions to be green before merging) #10579 |
It wasn't clear to me that automating step 2 would not cause downstream harm to step 3, where the ruleset names are exact. What are the job names that fill will generate here? |
455ae2d to
b95c6f2
Compare
in this case, the jobs appended by
So the current result of this PR on the list of jobs is to keep the list of jobs the same, and add test jobs from last night's scheduled run without
|
b95c6f2 to
322ebf6
Compare
fill: parameter67da474 to
f789e49
Compare
f789e49 to
bf6a0fc
Compare
|
I've refactored this PR to do the following:
|
|
(this PR basically copies the upcoming package template as closely as possible, so that rollout of that template will have minimal changes when it happens) |
|
I'm on board with getting this merged, but one remaining question - it looks like we have three pending checks, which look like required jobs that this PR no longer runs. What's up with the check-dependencies action? |
oh good catch! I accidentally left out that check job |
|
as for the required status checks in the repository settings, before or after merging this PR we can change the current required checks: to and remove the other version-specific ones |
a9b5fdd to
8ec5fbf
Compare



uses fill: to fill in toxenvs
py311-xdist,py312-xdist,py313-xdist,py314-xdist(readingrequires-python:frompyproject.toml)analogous to spacetelescope/romancal#2256
Tasks
Build 12.0(use the latest build if not sure)no-changelog-entry-needed)changes/:echo "changed something" > changes/<PR#>.<changetype>.rst(see changelog readme for instructions)changes/<PR#>.breaking.rstnews fragmentdocs/pageokify_regteststo update the truth files