Skip to content

Harden CI: replace curl-pipe-shell with setup-uv action#7

Merged
jpr5 merged 1 commit into
mainfrom
fix/ci-hardening
May 15, 2026
Merged

Harden CI: replace curl-pipe-shell with setup-uv action#7
jpr5 merged 1 commit into
mainfrom
fix/ci-hardening

Conversation

@jpr5
Copy link
Copy Markdown

@jpr5 jpr5 commented May 15, 2026

Summary

  • Replace curl -LsSf https://astral.sh/uv/install.sh | sh (line 247 of release.yml) with the official astral-sh/setup-uv GitHub Action, SHA-pinned to v4
  • Eliminates a curl-pipe-shell anti-pattern in a public repo where workflow files are readable by anyone
  • The setup-uv action is the officially recommended installation method and provides caching, version pinning, and integrity verification out of the box

Why

Piping curl output directly to sh in CI is a supply-chain risk — if astral.sh were compromised, arbitrary code would execute in the workflow. SHA-pinning the official GitHub Action ensures the exact code version is immutable and auditable.

Replace `curl -LsSf https://astral.sh/uv/install.sh | sh` with the
official astral-sh/setup-uv GitHub Action, SHA-pinned to v4. This
eliminates a curl-pipe-shell pattern in a public repo where workflow
files are readable by anyone.
@github-actions github-actions Bot added the size/xs PR size: XS label May 15, 2026
@jpr5 jpr5 merged commit 0d672e9 into main May 15, 2026
18 of 19 checks passed
@github-actions
Copy link
Copy Markdown

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 42.44% 7170 / 16891
🔵 Statements 41.86% 7604 / 18165
🔵 Functions 40.2% 1275 / 3171
🔵 Branches 41.03% 4803 / 11706
Generated in workflow #21 for commit 25e9ed0 by the Vitest Coverage Report Action

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/xs PR size: XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant