Skip to content

[Repo Assist] ci: use astral-sh/setup-uv action for Python CIΒ #4549

@github-actions

Description

@github-actions

πŸ€– This is a Repo Assist automated pull request.

Summary

Replaces the manual pipx install uv + pipx install maturin steps in the build-python CI job with:

  1. astral-sh/setup-uv@v5 β€” the official GitHub Action from the uv team, with enable-cache: true to cache the uv package cache (keyed to uv.lock)
  2. uv tool install maturin β€” consistent with using uv as the tool installer, replacing pipx install maturin

Benefits

  • Faster CI: The uv binary itself is downloaded quickly via the action, and enable-cache: true caches downloaded packages so uv sync in the build scripts benefits from a warm cache.
  • Official action: Using astral-sh/setup-uv keeps the setup in sync with uv's recommended installation method and will automatically benefit from future improvements to the action (e.g., better caching strategies).
  • Consistency: Using uv tool install instead of pipx install keeps all Python tooling under the uv umbrella.

Notes

  • actions/setup-python@v6 is retained for the version matrix β€” setup-uv is used alongside it rather than replacing it.
  • The enable-cache: true caches uv's package download cache. On cache hit, subsequent uv sync calls (run inside the build scripts) will restore packages from cache instead of downloading them.
  • This change is independent of PR [Repo Assist] [Eng] Add NuGet and npm package caching to CI workflowΒ #4525 (which adds NuGet/npm caching) and can be applied alongside it.
  • Maturin is in the project's dev dependencies (pyproject.toml), but is also needed globally on the PATH for the Fable build scripts, hence still installing it as a tool.

Generated by Repo Assist


Warning

Protected Files β€” Push Permission Denied

This was originally intended as a pull request, but the patch modifies protected files. A human must create the pull request manually.

Protected files

The push was rejected because GitHub Actions does not have workflows permission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission.

Create the pull request manually
# Download the patch from the workflow run
gh run download 24698568270 -n agent -D /tmp/agent-24698568270

# Create a new branch
git checkout -b repo-assist/eng-setup-uv-action-1be73161748869ab main

# Apply the patch (--3way handles cross-repo patches)
git am --3way /tmp/agent-24698568270/aw-repo-assist-eng-setup-uv-action.patch

# Push the branch and create the pull request
git push origin repo-assist/eng-setup-uv-action-1be73161748869ab
gh pr create --title '[Repo Assist] ci: use astral-sh/setup-uv action for Python CI' --base main --head repo-assist/eng-setup-uv-action-1be73161748869ab --repo fable-compiler/Fable

Generated by 🌈 Repo Assist, see workflow run. Learn more.

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/repo-assist.md@8f2d44f5d624e31c4af7cdbd948c6f5eba875a85

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions