Improve CI infrastructure for pre-commit#2110
Merged
EliahKagan merged 2 commits intogitpython-developers:mainfrom Mar 9, 2026
Merged
Improve CI infrastructure for pre-commit#2110EliahKagan merged 2 commits intogitpython-developers:mainfrom
EliahKagan merged 2 commits intogitpython-developers:mainfrom
Conversation
The `ubuntu-slim` runner is lighter weight, being a container rather than using a whole VM, and having only one vCPU, less RAM, and a 15 minute time limit. It's not suitable for most of our CI jobs in GitPython, but it should work well for our `pre-commit` checks. (If it doesn't, that's reason to suspect they might be better removed from `pre-commit` and run in a different way.) - https://github.blog/changelog/2026-01-22-1-vcpu-linux-runner-now-generally-available-in-github-actions/ - https://github.com/actions/runner-images/blob/main/images/ubuntu-slim/ubuntu-slim-Readme.md
- Add `pre-commit` as an ecosystem for Dependabot version updates, now that it is available as a beta ecosystem. Enable beta ecosystems to allow this. - Group the updates and use a monthly cadence to avoid getting swamped by frequent automated PRs. - It would be valuable in the future to Use a 7-day cooldown period rather than taking new versions immediately once released. (This may also be of value to developers who use `pre-commit` locally.) However, this doesn't do that, since the Dependabot ecosystem for `pre-commit` does not currently support `cooldown`. - Use a less busy style (less unnecessary quoting) than was being used in `dependabot.yml` before, since this new stanza is more elaborate than before. Apply that style to the existing stanzas for consistency.
Contributor
There was a problem hiding this comment.
Pull request overview
Adjusts CI configuration to make the pre-commit lint job run on a lighter runner and enables Dependabot updates for pre-commit hook versions, keeping hook tooling (e.g., ruff) current without relying on external integrations.
Changes:
- Switch
lintworkflow job runner fromubuntu-latesttoubuntu-slim. - Enable Dependabot beta ecosystems and add grouped monthly updates for
pre-commithooks. - Minor YAML normalization in Dependabot config (remove unnecessary quoting).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| .github/workflows/lint.yml | Moves the lint job to ubuntu-slim to reduce CI resource usage for pre-commit. |
| .github/dependabot.yml | Enables beta ecosystems and adds pre-commit ecosystem updates grouped into a single PR. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
EliahKagan
commented
Mar 9, 2026
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.
On CI, the
pre-commitjob has two shortcomings:pre-commitat all (since some developers may runpre-commitlocally).ruff. (There is an external integration that can keep pre-commit hooks up to date on GitHub, but it requires providing access to the repository to an external service. This is sometimes a tradeoff worth making, but it's one we've avoided doing here for this purpose, I think rightly.)These have both become easier to address recently:
ubuntu-slimrunner is available. Running it on that should work as well and be as fast, and give an indication that we're doing too much inpre-commitif that is ever not the case. It also frees up anubuntu-latestrunner, potentially making CI finish slightly earlier in some PRs where there have been a lot of pushes.pre-commitas a beta ecosystem, so it can keep them up to date. I've tested this in my fork; the resulting grouped PR looks like EliahKagan#5. It's not ideal that the ecosystem is still in beta, but I think it's worth using--and if it turns out to have bugs I haven't yet observed, then this is an oppportunity for me to report them.This PR uses the
ubuntu-slimrunner to runpre-commiton CI, and enables Dependabot version updates forpre-commithooks.