From 272519d8b07601d37a90561d4432c9eb2ca37ead Mon Sep 17 00:00:00 2001 From: Chris Farhood Date: Mon, 20 Jul 2026 10:02:42 -0400 Subject: [PATCH] ci: run the test job on uv instead of setup-python MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace actions/setup-python (which fails on a cold runner toolcache with a broken python-versions prebuilt) with the self-contained uv installer, matching release.yaml. Uses `uv sync --all-extras --locked --python 3.12` and `uv run --locked pytest`, so the test gate — and therefore the versioned image build behind it — no longer depends on a warm toolcache. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01NGzHtDvJur9U7ysgRKRUTN --- .gitea/workflows/build.yaml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index fb9b4e8..66d068d 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -19,13 +19,14 @@ jobs: ATHLETE_ID: i1 steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - name: Install (editable, with dev extras) - run: pip install --quiet -e ".[dev]" + - name: Install uv (self-contained; avoids the cold-cache setup-python failure) + run: | + curl -LsSf https://astral.sh/uv/install.sh | sh + echo "$HOME/.local/bin" >> "$GITHUB_PATH" + - name: Install dependencies (Python 3.12, locked) + run: uv sync --all-extras --locked --python 3.12 - name: Test + coverage gate (>=90%) - run: pytest + run: uv run --locked pytest build: needs: test