From bbbc5e01379f4a24dbbc8b1885aabe1ff666e712 Mon Sep 17 00:00:00 2001 From: forbes Date: Tue, 3 Feb 2026 17:59:05 -0600 Subject: [PATCH] ci: use venv for PEP 668 compatibility on runner --- .gitea/workflows/ci.yaml | 45 +++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index ba51099..c59dba5 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -26,6 +26,7 @@ on: env: PIP_CACHE_DIR: /tmp/pip-cache-solver TORCH_INDEX: https://download.pytorch.org/whl/cpu + VIRTUAL_ENV: /tmp/solver-venv jobs: # --------------------------------------------------------------------------- @@ -33,6 +34,8 @@ jobs: # --------------------------------------------------------------------------- lint: runs-on: ubuntu-latest + env: + PATH: /tmp/solver-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin steps: - name: Trust internal CA run: | @@ -43,9 +46,11 @@ jobs: - name: Checkout uses: https://github.com/actions/checkout@v4 + - name: Set up venv + run: python3 -m venv $VIRTUAL_ENV + - name: Install lint tools - run: | - python3 -m pip install --cache-dir $PIP_CACHE_DIR ruff + run: pip install --cache-dir $PIP_CACHE_DIR ruff - name: Ruff check run: ruff check solver/ freecad/ tests/ scripts/ @@ -58,6 +63,8 @@ jobs: # --------------------------------------------------------------------------- type-check: runs-on: ubuntu-latest + env: + PATH: /tmp/solver-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin steps: - name: Trust internal CA run: | @@ -68,14 +75,16 @@ jobs: - name: Checkout uses: https://github.com/actions/checkout@v4 + - name: Set up venv + run: python3 -m venv $VIRTUAL_ENV + - name: Install dependencies run: | - python3 -m pip install --cache-dir $PIP_CACHE_DIR \ + pip install --cache-dir $PIP_CACHE_DIR \ mypy numpy scipy \ torch --index-url $TORCH_INDEX - python3 -m pip install --cache-dir $PIP_CACHE_DIR \ - torch-geometric - python3 -m pip install --cache-dir $PIP_CACHE_DIR -e ".[dev]" + pip install --cache-dir $PIP_CACHE_DIR torch-geometric + pip install --cache-dir $PIP_CACHE_DIR -e ".[dev]" - name: Mypy run: mypy solver/ freecad/ @@ -85,6 +94,8 @@ jobs: # --------------------------------------------------------------------------- test: runs-on: ubuntu-latest + env: + PATH: /tmp/solver-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin steps: - name: Trust internal CA run: | @@ -95,13 +106,15 @@ jobs: - name: Checkout uses: https://github.com/actions/checkout@v4 + - name: Set up venv + run: python3 -m venv $VIRTUAL_ENV + - name: Install dependencies run: | - python3 -m pip install --cache-dir $PIP_CACHE_DIR \ + pip install --cache-dir $PIP_CACHE_DIR \ torch --index-url $TORCH_INDEX - python3 -m pip install --cache-dir $PIP_CACHE_DIR \ - torch-geometric - python3 -m pip install --cache-dir $PIP_CACHE_DIR -e ".[train,dev]" + pip install --cache-dir $PIP_CACHE_DIR torch-geometric + pip install --cache-dir $PIP_CACHE_DIR -e ".[train,dev]" - name: Run tests run: pytest tests/ freecad/tests/ -v --tb=short @@ -115,6 +128,8 @@ jobs: (github.event_name == 'workflow_dispatch' && inputs.run_datagen == true) || (github.event_name == 'push' && github.ref == 'refs/heads/main') needs: [test] + env: + PATH: /tmp/solver-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin steps: - name: Trust internal CA run: | @@ -125,13 +140,15 @@ jobs: - name: Checkout uses: https://github.com/actions/checkout@v4 + - name: Set up venv + run: python3 -m venv $VIRTUAL_ENV + - name: Install dependencies run: | - python3 -m pip install --cache-dir $PIP_CACHE_DIR \ + pip install --cache-dir $PIP_CACHE_DIR \ torch --index-url $TORCH_INDEX - python3 -m pip install --cache-dir $PIP_CACHE_DIR \ - torch-geometric - python3 -m pip install --cache-dir $PIP_CACHE_DIR -e ".[train]" + pip install --cache-dir $PIP_CACHE_DIR torch-geometric + pip install --cache-dir $PIP_CACHE_DIR -e ".[train]" - name: Restore datagen checkpoint id: datagen-cache