Skip to content

fix: uv version pin and caching#496

Open
jmeridth wants to merge 1 commit intomainfrom
jm_uv_pin_and_cache
Open

fix: uv version pin and caching#496
jmeridth wants to merge 1 commit intomainfrom
jm_uv_pin_and_cache

Conversation

@jmeridth
Copy link
Collaborator

Pull Request

Proposed Changes

  • pin and cache uv in workflow runs
  • cancel in progress ci and linting with new pushes

Readiness Checklist

Author/Contributor

  • If documentation is needed for this change, has that been included in this pull request
  • run make lint and fix any issues that you have introduced
  • run make test and ensure you have test coverage for the lines you are introducing

Also cancel in progress ci and linting with new pushes

Signed-off-by: jmeridth <jmeridth@gmail.com>
@jmeridth jmeridth self-assigned this Mar 11, 2026
@jmeridth jmeridth requested a review from zkoppert as a code owner March 11, 2026 06:02
Copilot AI review requested due to automatic review settings March 11, 2026 06:02
@github-actions github-actions bot added the fix label Mar 11, 2026
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 uv to 0.10.9 across workflows and enable setup-uv caching.
  • Add concurrency (cancel-in-progress) to python-ci and super-linter workflows.
  • Apply the same uv pinning/caching to the dependabot uv.lock update 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.

Comment on lines 31 to +34
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
with:
version: "0.10.9"
enable-cache: true
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines 31 to +34
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
with:
version: "0.10.9"
enable-cache: true
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
Comment on lines 30 to +34
- name: Install uv
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
with:
version: "0.10.9"
enable-cache: true
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines 34 to +37
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
with:
version: "0.10.9"
enable-cache: true
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Copilot uses AI. Check for mistakes.
jmeridth added a commit to github-community-projects/issue-metrics that referenced this pull request Mar 11, 2026
## 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>
jmeridth added a commit to github-community-projects/stale-repos that referenced this pull request Mar 11, 2026
## 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>
jmeridth added a commit to github-community-projects/cleanowners that referenced this pull request Mar 11, 2026
## 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>
jmeridth added a commit to github-community-projects/contributors that referenced this pull request Mar 11, 2026
## 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>
jmeridth added a commit to github-community-projects/measure-innersource that referenced this pull request Mar 11, 2026
## 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants