fix(ci): avoid uv-managed python bootstrap on runners

This commit is contained in:
2026-03-24 14:25:46 +01:00
parent b7d122aa5b
commit 6f846d84d6
2 changed files with 35 additions and 43 deletions

View File

@@ -34,30 +34,18 @@ jobs:
- name: Install Python and uv
run: |
set -euo pipefail
if command -v python3.11 >/dev/null 2>&1; then
BOOTSTRAP_PYTHON=python3.11
elif command -v python3 >/dev/null 2>&1; then
BOOTSTRAP_PYTHON=python3
else
echo "python3 is not available on the runner" >&2
exit 1
fi
timeout 180s "${BOOTSTRAP_PYTHON}" -m pip install --user --break-system-packages --upgrade pip uv
export PATH="$HOME/.local/bin:$PATH"
PROJECT_PYTHON_VERSION="$(cat .python-version 2>/dev/null || printf '%s' "${PYTHON_VERSION}")"
timeout 300s uv python install "${PROJECT_PYTHON_VERSION}"
PYTHON_BIN="$(uv python find --managed-python "${PROJECT_PYTHON_VERSION}")"
PYTHON_BIN="$(./scripts/ensure-ci-python.sh "${PROJECT_PYTHON_VERSION}")"
printf 'PYTHON_BIN=%s\n' "${PYTHON_BIN}" > .ci-python-env
- name: Create virtual environment and install dependencies
run: |
set -euo pipefail
export PATH="$HOME/.local/bin:$PATH"
. ./.ci-python-env
uv venv --python "${PYTHON_BIN}"
"${PYTHON_BIN}" -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip uv
uv sync --dev --frozen
- name: Run Ruff linting
@@ -121,30 +109,18 @@ jobs:
- name: Install Python and uv
run: |
set -euo pipefail
if command -v python3.11 >/dev/null 2>&1; then
BOOTSTRAP_PYTHON=python3.11
elif command -v python3 >/dev/null 2>&1; then
BOOTSTRAP_PYTHON=python3
else
echo "python3 is not available on the runner" >&2
exit 1
fi
timeout 180s "${BOOTSTRAP_PYTHON}" -m pip install --user --break-system-packages --upgrade pip uv
export PATH="$HOME/.local/bin:$PATH"
PROJECT_PYTHON_VERSION="$(cat .python-version 2>/dev/null || printf '%s' "${PYTHON_VERSION}")"
timeout 300s uv python install "${PROJECT_PYTHON_VERSION}"
PYTHON_BIN="$(uv python find --managed-python "${PROJECT_PYTHON_VERSION}")"
PYTHON_BIN="$(./scripts/ensure-ci-python.sh "${PROJECT_PYTHON_VERSION}")"
printf 'PYTHON_BIN=%s\n' "${PYTHON_BIN}" > .ci-python-env
- name: Create virtual environment and install dependencies
run: |
set -euo pipefail
export PATH="$HOME/.local/bin:$PATH"
. ./.ci-python-env
uv venv --python "${PYTHON_BIN}"
"${PYTHON_BIN}" -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip uv
uv sync --dev --frozen
- name: Run regular pytest suite
@@ -233,22 +209,11 @@ jobs:
fi
tar -xzf "${ARCHIVE_PATH}"
- name: Install Python and uv for artifact environment
- name: Install Python for artifact environment
run: |
set -euo pipefail
if command -v python3.11 >/dev/null 2>&1; then
BOOTSTRAP_PYTHON=python3.11
elif command -v python3 >/dev/null 2>&1; then
BOOTSTRAP_PYTHON=python3
else
echo "python3 is not available on the runner" >&2
exit 1
fi
timeout 180s "${BOOTSTRAP_PYTHON}" -m pip install --user --break-system-packages --upgrade pip uv
export PATH="$HOME/.local/bin:$PATH"
PROJECT_PYTHON_VERSION="$(cat .python-version 2>/dev/null || printf '%s' "${PYTHON_VERSION}")"
timeout 300s uv python install "${PROJECT_PYTHON_VERSION}"
./scripts/ensure-ci-python.sh "${PROJECT_PYTHON_VERSION}" >/dev/null
- name: Run API inventory pytest suite
env: