Conversation
Also cancel in progress ci and linting with new pushes Signed-off-by: jmeridth <jmeridth@gmail.com>
There was a problem hiding this comment.
Pull request overview
This PR standardizes CI tooling by pinning the uv version used in GitHub Actions workflows, enabling uv caching to speed up runs, and adding workflow-level concurrency to cancel superseded CI/lint runs on new pushes.
Changes:
- Pin
uvto0.10.9across workflows and enablesetup-uvcaching. - Add
concurrency(cancel-in-progress) topython-ciandsuper-linterworkflows. - Apply the same
uvpinning/caching to the dependabotuv.lockupdate workflow and Copilot setup workflow.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| .github/workflows/update-uv-lock.yml | Pins uv and enables cache for dependabot-driven uv.lock updates. |
| .github/workflows/super-linter.yaml | Adds concurrency cancellation and pins/enables cached uv for lint workflow. |
| .github/workflows/python-ci.yml | Adds concurrency cancellation and pins/enables cached uv for CI workflow. |
| .github/workflows/copilot-setup-steps.yml | Pins uv and enables cache for Copilot pre-steps. |
| uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1 | ||
| with: | ||
| version: "0.10.9" | ||
| enable-cache: true |
There was a problem hiding this comment.
astral-sh/setup-uv caching relies on the GitHub Actions cache service; with workflow-level permissions explicitly set to only contents: read, the job will not have actions: write and cache restore/save can fail. Add actions: write (or at least actions: read + actions: write as needed) to the workflow/job permissions when enable-cache: true is used.
| uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1 | ||
| with: | ||
| version: "0.10.9" | ||
| enable-cache: true |
There was a problem hiding this comment.
This workflow sets explicit permissions (workflow and job), but neither includes actions: write. With enable-cache: true for setup-uv, cache restore/save can fail due to missing cache permissions. Add actions: write to the job permissions (job-level permissions override workflow-level).
| - name: Install uv | ||
| uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1 | ||
| with: | ||
| version: "0.10.9" | ||
| enable-cache: true |
There was a problem hiding this comment.
With enable-cache: true, setup-uv will attempt to use the GitHub Actions cache service. This workflow’s top-level permissions only grants id-token: write, so it likely lacks actions: write needed to save caches. Add actions: write to the workflow (and keep other permissions minimal) or disable caching here.
| uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1 | ||
| with: | ||
| version: "0.10.9" | ||
| enable-cache: true |
There was a problem hiding this comment.
This workflow explicitly sets permissions: contents: read; with enable-cache: true for setup-uv, cache restore/save can fail without actions: write permission. Add actions: write to the workflow permissions (or disable caching).
## What Pin uv to version 0.10.9 with caching enabled across all setup-uv action usages in CI workflows. Add concurrency groups to CI and linter workflows to cancel in-progress runs on new pushes. ## Why Unpinned uv versions can cause unexpected CI breakage when new releases introduce breaking changes. Caching speeds up workflow runs. Concurrency cancellation avoids wasting CI resources on outdated pushes. ## Notes - Mirrors changes from github-community-projects/evergreen#496 - The concurrency block only applies to CI and linter workflows, not to copilot-setup-steps or update-uv-lock workflows Signed-off-by: jmeridth <jmeridth@gmail.com>
## What Pin uv to version 0.10.9 with caching enabled across all setup-uv action usages in CI workflows. Add concurrency groups to CI and linter workflows to cancel in-progress runs on new pushes. ## Why Unpinned uv versions can cause unexpected CI breakage when new releases introduce breaking changes. Caching speeds up workflow runs. Concurrency cancellation avoids wasting CI resources on outdated pushes. ## Notes - Mirrors changes from github-community-projects/evergreen#496 - The concurrency block only applies to CI and linter workflows, not to copilot-setup-steps or update-uv-lock workflows Signed-off-by: jmeridth <jmeridth@gmail.com>
## What Pin uv to version 0.10.9 with caching enabled across all setup-uv action usages in CI workflows. Add concurrency groups to CI and linter workflows to cancel in-progress runs on new pushes. ## Why Unpinned uv versions can cause unexpected CI breakage when new releases introduce breaking changes. Caching speeds up workflow runs. Concurrency cancellation avoids wasting CI resources on outdated pushes. ## Notes - Mirrors changes from github-community-projects/evergreen#496 - The concurrency block only applies to CI and linter workflows, not to copilot-setup-steps or update-uv-lock workflows Signed-off-by: jmeridth <jmeridth@gmail.com>
## What Pin uv to version 0.10.9 with caching enabled across all setup-uv action usages in CI workflows. Add concurrency groups to CI and linter workflows to cancel in-progress runs on new pushes. ## Why Unpinned uv versions can cause unexpected CI breakage when new releases introduce breaking changes. Caching speeds up workflow runs. Concurrency cancellation avoids wasting CI resources on outdated pushes. ## Notes - Mirrors changes from github-community-projects/evergreen#496 - The concurrency block only applies to CI and linter workflows, not to copilot-setup-steps or update-uv-lock workflows Signed-off-by: jmeridth <jmeridth@gmail.com>
## What Pin uv to version 0.10.9 with caching enabled across all setup-uv action usages in CI workflows. Add concurrency groups to CI and linter workflows to cancel in-progress runs on new pushes. ## Why Unpinned uv versions can cause unexpected CI breakage when new releases introduce breaking changes. Caching speeds up workflow runs. Concurrency cancellation avoids wasting CI resources on outdated pushes. ## Notes - Mirrors changes from github-community-projects/evergreen#496 - The concurrency block only applies to CI and linter workflows, not to copilot-setup-steps or update-uv-lock workflows Signed-off-by: jmeridth <jmeridth@gmail.com>
Pull Request
Proposed Changes
Readiness Checklist
Author/Contributor
make lintand fix any issues that you have introducedmake testand ensure you have test coverage for the lines you are introducing