Skip to content

Commit 341c760

Browse files
committed
Add UV-only CI tests without Python pre-installation
Adds new uv-only job to variants workflow to verify team workflow: - Tests with ONLY UV installed (NO Python pre-installed) - Runs make install on existing Makefile - UV automatically downloads Python and creates venv - Tests Python 3.10 and 3.14 (lowest and highest supported) Verifies the UV-only workflow documented in getting-started.md works in CI.
1 parent 687483d commit 341c760

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

.github/workflows/variants.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,38 @@ jobs:
7070
run: |
7171
make VENV_ENABLED=false VENV_CREATE=false PRIMARY_PYTHON=python3 PYTHON_PACKAGE_INSTALLER=pip test
7272
make clean
73+
74+
uv-only:
75+
name: UV-only (no Python) - Python ${{ matrix.uv-python }}
76+
runs-on: ubuntu-latest
77+
container:
78+
image: ubuntu:22.04
79+
strategy:
80+
fail-fast: false
81+
matrix:
82+
uv-python: ["3.10", "3.14"]
83+
steps:
84+
- name: Install system dependencies (NOT Python)
85+
run: |
86+
apt-get update
87+
apt-get install -y make curl ca-certificates git
88+
89+
- uses: actions/checkout@v5
90+
91+
- name: Install UV globally
92+
run: |
93+
curl -LsSf https://astral.sh/uv/install.sh | sh
94+
echo "$HOME/.local/bin" >> $GITHUB_PATH
95+
96+
- name: Verify NO Python installed
97+
run: |
98+
! which python3 || (echo "ERROR: Python found!" && exit 1)
99+
! which python || (echo "ERROR: Python found!" && exit 1)
100+
101+
- name: Run make install with UV only
102+
run: make UV_PYTHON=${{ matrix.uv-python }} install
103+
104+
- name: Verify venv created with correct Python version
105+
run: |
106+
.venv/bin/python --version
107+
.venv/bin/python --version | grep "${{ matrix.uv-python }}"

0 commit comments

Comments
 (0)