From f23fae93118f99e49086aef5cab35d8ccf0cc646 Mon Sep 17 00:00:00 2001 From: ali Date: Tue, 5 May 2026 16:49:49 +0530 Subject: [PATCH 1/2] UN-3448 [FIX] Add --system flag to uv pip install in uv-lock-automation workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Modern uv requires uv pip install to run inside a virtual environment OR with the explicit --system flag. The workflow currently has neither, so it errors out: error: No virtual environment found for Python 3.12.9; run `uv venv` to create an environment, or pass `--system` to install into a non-virtual environment This breaks every PR that touches a pyproject.toml (the workflow's paths filter triggers on those). Last successful run was 2026-04-01, before a behaviour change in uv or astral-sh/setup-uv@v7. The --system flag is exactly what the error message suggests and is correct here — we install pip into the runner's system Python; the downstream uv-lock.sh script creates its own venvs as needed. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/uv-lock-automation.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/uv-lock-automation.yaml b/.github/workflows/uv-lock-automation.yaml index 8cfc2f9ca..681fb9a45 100644 --- a/.github/workflows/uv-lock-automation.yaml +++ b/.github/workflows/uv-lock-automation.yaml @@ -36,7 +36,7 @@ jobs: version: "0.6.14" python-version: 3.12.9 - - run: uv pip install --python=3.12.9 pip + - run: uv pip install --system --python=3.12.9 pip - name: Generate UV lockfiles env: From e7cc541c7548609dbcda0f0029998d6757eee1b4 Mon Sep 17 00:00:00 2001 From: ali Date: Wed, 6 May 2026 09:24:26 +0530 Subject: [PATCH 2/2] UN-3448 [FIX] Remove vestigial `uv pip install` line per review Per @jaseemjaskp's review: the pre-step `uv pip install ... pip` does nothing useful for this workflow. The downstream uv-lock.sh script uses uv sync at line 74, which manages its own venvs internally and never invokes pip directly: $ grep -rn 'pip' docker/scripts/uv-lock-gen/ docker/scripts/uv-lock-gen/uv-lock.sh:2:set -o pipefail Only match is pipefail (shell option), no real pip references. Removing the line entirely is cleaner than papering over with --system. The line was likely copy-pasted from a sibling workflow that legitimately needed pip in the system Python. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/uv-lock-automation.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/uv-lock-automation.yaml b/.github/workflows/uv-lock-automation.yaml index 681fb9a45..52c336438 100644 --- a/.github/workflows/uv-lock-automation.yaml +++ b/.github/workflows/uv-lock-automation.yaml @@ -36,8 +36,6 @@ jobs: version: "0.6.14" python-version: 3.12.9 - - run: uv pip install --system --python=3.12.9 pip - - name: Generate UV lockfiles env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}