Skip to content

fix: upgrade pip before installing uv in alpine build#735

Merged
thomasrockhu-codecov merged 3 commits into
mainfrom
th/fix-alpine-uv-install
Jul 8, 2026
Merged

fix: upgrade pip before installing uv in alpine build#735
thomasrockhu-codecov merged 3 commits into
mainfrom
th/fix-alpine-uv-install

Conversation

@thomasrockhu-codecov

@thomasrockhu-codecov thomasrockhu-codecov commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The Build and Publish CLI Release Alpine matrix legs failed at Run in Docker (e.g. run 28973879139) with ERROR: No matching distribution found for uv.
  • Root cause: alpine:3.14 ships system pip 20.3.4, which predates musllinux wheel-tag support (PEP 656, added in pip 21.3). Since uv only ships musl builds as musllinux wheels, pip install uv --only-binary uv finds no compatible candidate and fails.
  • Fix: upgrade pip first so it recognizes musllinux tags and can install the uv wheel. Alpine 3.14 has no PEP 668 EXTERNALLY-MANAGED marker (that arrived in Alpine 3.19 / Python 3.11), so no --break-system-packages is required. --only-binary uv is kept so pip never falls back to a source build.

Test plan

  • Re-run the release (or the build_assets workflow with release: true) and confirm the Alpine x86_64 and arm64 legs build and upload assets successfully.

Alpine 3.14's system pip (20.3.4) predates musllinux wheel-tag support
(PEP 656, pip 21.3), so `pip install uv --only-binary uv` finds no
compatible wheel and fails with "No matching distribution found for uv".
Install uv via its official musl-native standalone installer instead,
placing the binary on PATH via UV_INSTALL_DIR.

Co-authored-by: Cursor <cursoragent@cursor.com>
@codecov

codecov Bot commented Jul 8, 2026

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
723 1 722 1
View the full list of 1 ❄️ flaky test(s)
api.temp.calculator.test_calculator::test_divide

Flake rate in main: 100.00% (Passed 0 times, Failed 1265 times)

Stack Traces | 0.001s run time
def
                test_divide():
                > assert Calculator.divide(1, 2) == 0.5
                E assert 1.0 == 0.5
                E + where 1.0 = <function Calculator.divide at 0x104c9eb90>(1, 2)
                E + where <function Calculator.divide at 0x104c9eb90> = Calculator.divide
                .../temp/calculator/test_calculator.py:30: AssertionError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Alpine 3.14's system pip (20.3.4) predates musllinux wheel-tag support
(PEP 656, pip 21.3), so `pip install uv --only-binary uv` finds no
compatible wheel and fails with "No matching distribution found for uv".
Upgrade pip first so it recognizes musllinux tags and can install the uv
wheel. Alpine 3.14 has no PEP 668 EXTERNALLY-MANAGED marker, so no
--break-system-packages is needed.

Co-authored-by: Cursor <cursoragent@cursor.com>
@thomasrockhu-codecov thomasrockhu-codecov changed the title fix: install uv via standalone installer in alpine build fix: upgrade pip before installing uv in alpine build Jul 8, 2026
@thomasrockhu-codecov thomasrockhu-codecov merged commit 4fb1ac5 into main Jul 8, 2026
22 checks passed
@thomasrockhu-codecov thomasrockhu-codecov deleted the th/fix-alpine-uv-install branch July 8, 2026 20:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants