From a6f07a54f1c5fee2d0d9ffc4f39ece0c9b0f7eda Mon Sep 17 00:00:00 2001 From: Andy Lee Date: Sat, 16 Aug 2025 21:32:19 -0700 Subject: [PATCH] fix: Use uv venv for Arch Linux CI wheel installation (#69) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Use astral-sh/setup-uv@v4 action for consistency with other jobs - Create virtual environment with uv venv to bypass PEP 668 restrictions - Install wheels using uv pip install for faster dependency resolution - Maintain tool consistency across the entire CI pipeline 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude --- .github/workflows/build-reusable.yml | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-reusable.yml b/.github/workflows/build-reusable.yml index 6d46a6a..f0b7b24 100644 --- a/.github/workflows/build-reusable.yml +++ b/.github/workflows/build-reusable.yml @@ -87,7 +87,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: ref: ${{ inputs.ref }} submodules: recursive @@ -98,7 +98,7 @@ jobs: python-version: ${{ matrix.python }} - name: Install uv - uses: astral-sh/setup-uv@v4 + uses: astral-sh/setup-uv@v6 - name: Install system dependencies (Ubuntu) if: runner.os == 'Linux' @@ -322,24 +322,29 @@ jobs: pacman -S --noconfirm python python-pip gcc git zlib openssl - name: Download ALL wheel artifacts from this run - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: # Don't specify name, download all artifacts path: ./wheels - - name: Install wheels (pip automatically picks matching tags from wheels directory) + - name: Install uv + uses: astral-sh/setup-uv@v6 + + - name: Create virtual environment and install wheels run: | - python -m pip install --upgrade pip - pip install --find-links wheels leann-core - pip install --find-links wheels leann-backend-hnsw - pip install --find-links wheels leann-backend-diskann - pip install --find-links wheels leann + uv venv + source .venv/bin/activate || source .venv/Scripts/activate + uv pip install --find-links wheels leann-core + uv pip install --find-links wheels leann-backend-hnsw + uv pip install --find-links wheels leann-backend-diskann + uv pip install --find-links wheels leann - name: Import & tiny runtime check env: OMP_NUM_THREADS: 1 MKL_NUM_THREADS: 1 run: | + source .venv/bin/activate || source .venv/Scripts/activate python - <<'PY' import leann import leann_backend_hnsw as h