diff --git a/.gitea/workflows/ci-cd.yml b/.gitea/workflows/ci-cd.yml index 023a71c..fb5c484 100644 --- a/.gitea/workflows/ci-cd.yml +++ b/.gitea/workflows/ci-cd.yml @@ -46,8 +46,9 @@ jobs: timeout 180s "${BOOTSTRAP_PYTHON}" -m pip install --user --break-system-packages --upgrade pip uv export PATH="$HOME/.local/bin:$PATH" - timeout 300s uv python install "${PYTHON_VERSION}" - PYTHON_BIN="$(uv python find --managed-python "${PYTHON_VERSION}")" + 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}")" printf 'PYTHON_BIN=%s\n' "${PYTHON_BIN}" > .ci-python-env @@ -132,8 +133,9 @@ jobs: timeout 180s "${BOOTSTRAP_PYTHON}" -m pip install --user --break-system-packages --upgrade pip uv export PATH="$HOME/.local/bin:$PATH" - timeout 300s uv python install "${PYTHON_VERSION}" - PYTHON_BIN="$(uv python find --managed-python "${PYTHON_VERSION}")" + 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}")" printf 'PYTHON_BIN=%s\n' "${PYTHON_BIN}" > .ci-python-env @@ -222,6 +224,16 @@ jobs: with: name: ci-test-workspace + - name: Extract prepared test workspace + run: | + set -euo pipefail + ARCHIVE_PATH="$(find . -maxdepth 2 -name 'ci-test-workspace.tar.gz' -print -quit)" + if [ -z "${ARCHIVE_PATH}" ]; then + echo "ci-test-workspace.tar.gz not found after artifact download" >&2 + exit 1 + fi + tar -xzf "${ARCHIVE_PATH}" + - name: Install Python and uv for artifact environment run: | set -euo pipefail @@ -236,17 +248,8 @@ jobs: timeout 180s "${BOOTSTRAP_PYTHON}" -m pip install --user --break-system-packages --upgrade pip uv export PATH="$HOME/.local/bin:$PATH" - timeout 300s uv python install "${PYTHON_VERSION}" - - - name: Extract prepared test workspace - run: | - set -euo pipefail - ARCHIVE_PATH="$(find . -maxdepth 2 -name 'ci-test-workspace.tar.gz' -print -quit)" - if [ -z "${ARCHIVE_PATH}" ]; then - echo "ci-test-workspace.tar.gz not found after artifact download" >&2 - exit 1 - fi - tar -xzf "${ARCHIVE_PATH}" + PROJECT_PYTHON_VERSION="$(cat .python-version 2>/dev/null || printf '%s' "${PYTHON_VERSION}")" + timeout 300s uv python install "${PROJECT_PYTHON_VERSION}" - name: Run API inventory pytest suite env: