ci: cut what a pull request run downloads and runs - #898
Merged
Conversation
Four changes to the test workflow, none of which alter what is tested on main or on the nightly cron: - Add a concurrency group keyed on the pull request number, so pushing a fixup cancels the previous run's sixteen test jobs. Every other event falls back to the run id, giving it a lane of its own, so pushes to main, the cron run and manual dispatches are never cancelled and never queue behind one another. - Cache pip across runs via setup-python and drop `--no-cache-dir` and `pip cache purge`. The purge was close to a no-op, since each runner starts with an empty cache anyway; the re-downloads came from `--no-cache-dir` plus having nothing persisted between runs. pip does not cache a wheel built from a local directory, so scikit-robot itself is still built from source in every job and the remove-setuptools and skip-all-extras matrix entries keep testing what they tested before. - Cache the Blender archive, keyed on the version alone, instead of pulling it from download.blender.org in all thirteen jobs on every run. It lives under $HOME because the cache action restores as the runner user, which cannot write to /opt. BLENDER_VERSION moves up to the job env and the release directory is derived from it, so the version is written once rather than twice. - Skip the three test jobs when a pull request touches only docs, markdown or LICENSE. `some-with-excludes` is required here: the default quantifier ORs the patterns together, which would make `!docs/**` match every file under docs rather than exclude it. The filter step runs on pull requests only and the output falls back to true elsewhere, so main, the cron run and workflow_dispatch always get the full suite. Check Formatting, the one required status check, is outside the gate and still runs on every pull request.
iory
force-pushed
the
ci/faster-pr-runs
branch
from
September 11, 2026 07:23
a4b5e9a to
19ff2d2
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a concurrency group keyed on the pull request number, so pushing a fixup cancels the previous run rather than letting its sixteen test jobs finish, while main, the cron run and manual dispatches keep a lane of their own and are never cancelled.
Caches pip between runs and caches the Blender archive by version, instead of re-downloading roughly 350MB in each of the thirteen matrix jobs; scikit-robot itself is still built from source everywhere, so the remove-setuptools and skip-all-extras entries test what they tested before.
Skips the three test jobs when a pull request touches only docs, markdown or LICENSE. Check Formatting, the single required status check, sits outside the gate and still runs on every pull request.