From 0a22eab4a8c5c188314ccae0bcc2a0ee4077301d Mon Sep 17 00:00:00 2001 From: Julian Cuni Date: Tue, 23 Jun 2026 15:59:10 +0200 Subject: [PATCH] fix(ci): install uv via official script, not astral-sh/setup-uv action MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Gitea runner can't reliably resolve the astral-sh/setup-uv@v5 action — the "Set up uv" step failed (exit 1) in build-images.yml (and the same step exists in ci.yml). Replace the action with uv's official standalone install script (`curl -LsSf https://astral.sh/uv/install.sh | sh`) + add $HOME/.local/bin to $GITHUB_PATH, matching how the rest of the pipeline provisions tools (apt, corepack). No third-party action dependency. Verified the install method yields a working uv on a clean HOME. Same fix in both workflows. Claude-Session: https://claude.ai/code/session_01Xcm6ikLgGoCxxHrxtjkk5V --- .gitea/workflows/build-images.yml | 7 ++++++- .gitea/workflows/ci.yml | 9 ++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/build-images.yml b/.gitea/workflows/build-images.yml index 3569648..6ae2ac9 100644 --- a/.gitea/workflows/build-images.yml +++ b/.gitea/workflows/build-images.yml @@ -44,7 +44,12 @@ jobs: run: pnpm install --frozen-lockfile - name: Set up uv (for @parking/vision checks) - uses: astral-sh/setup-uv@v5 + # Install uv via its official standalone script rather than a third-party action — + # the Gitea runner can't reliably resolve astral-sh/setup-uv. uv provisions the + # pinned Python (apps/vision/.python-version) itself. Add it to PATH for later steps. + run: | + curl -LsSf https://astral.sh/uv/install.sh | sh + echo "$HOME/.local/bin" >> "$GITHUB_PATH" - name: Sync vision deps working-directory: apps/vision diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 55fcae8..16f97c2 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -35,9 +35,12 @@ jobs: # The vision service is a Python package wired into the Turbo graph via a # package.json shim; its lint/typecheck/test scripts shell to `uv run …`. CI # has no Python by default, so `uv run` would fail with "uv: not found" and - # break the whole Turbo run. uv provisions the pinned Python (.python-version) - # itself. See wiki/decisions/vision-service-packaging.md. - uses: astral-sh/setup-uv@v5 + # break the whole Turbo run. Install uv via its official standalone script + # (the Gitea runner can't reliably resolve astral-sh/setup-uv); uv provisions the + # pinned Python (.python-version) itself. See wiki/decisions/vision-service-packaging.md. + run: | + curl -LsSf https://astral.sh/uv/install.sh | sh + echo "$HOME/.local/bin" >> "$GITHUB_PATH" - name: Sync vision deps # Light deps + the dev group (ruff/mypy/pytest) only — NOT the optional `alpr`