From e20fdae2a51a2c6a90e21babb672f37778708a4d Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Mon, 29 Dec 2025 12:03:45 -0800 Subject: [PATCH] fix gh ci cd --- .github/workflows/test-parallel.yml | 54 ++++++++--------------------- 1 file changed, 15 insertions(+), 39 deletions(-) diff --git a/.github/workflows/test-parallel.yml b/.github/workflows/test-parallel.yml index 98edb7cc..77db7ac6 100644 --- a/.github/workflows/test-parallel.yml +++ b/.github/workflows/test-parallel.yml @@ -86,57 +86,33 @@ jobs: python-version: ${{ matrix.python }} architecture: x64 + - name: Install uv + uses: astral-sh/setup-uv@v4 + with: + version: "latest" + - name: Set up Node JS uses: actions/setup-node@v4 with: - node-version: 20.10.0 + node-version: 22 - - name: Get pip cache dir - id: pip-cache - run: | - echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT - - - name: Cache pip + - name: Cache uv uses: actions/cache@v3 - id: cache-pip with: - path: ${{ steps.pip-cache.outputs.dir }} - key: ${{ runner.os }}-${{ matrix.python }}-venv-${{ hashFiles('setup.py') }} + path: ~/.cache/uv + key: ${{ runner.os }}-${{ matrix.python }}-uv-${{ hashFiles('pyproject.toml', 'uv.lock') }} restore-keys: | - ${{ runner.os }}-${{ matrix.python }}-venv- + ${{ runner.os }}-${{ matrix.python }}-uv- - uses: awalsh128/cache-apt-pkgs-action@latest with: - packages: ripgrep build-essential python3-dev python3-setuptools libssl-dev libldap2-dev libsasl2-dev zlib1g-dev libatomic1 python3-minimal gnupg2 curl wget python3-ldap python3-msgpack python3-mutagen python3-regex python3-pycryptodome procps - version: 1.0 + packages: git ripgrep build-essential python3-dev python3-setuptools libssl-dev libldap2-dev libsasl2-dev zlib1g-dev libatomic1 python3-minimal gnupg2 curl wget python3-ldap python3-msgpack python3-mutagen python3-regex python3-pycryptodome procps + version: 1.1 - - name: Install pip dependencies + - name: Install dependencies with uv run: | - python -m pip install --upgrade pip setuptools wheel pytest bottle build - python -m pip install -r requirements.txt - python -m pip install -e .[sonic,ldap] - - - name: Get npm cache dir - id: npm-cache - run: | - echo "dir=$GITHUB_WORKSPACE/node_modules" >> $GITHUB_OUTPUT - - - name: Cache npm - uses: actions/cache@v3 - id: cache-npm - with: - path: ${{ steps.npm-cache.outputs.dir }} - key: ${{ runner.os }}-node_modules-${{ hashFiles('package-lock.json') }} - restore-keys: | - ${{ runner.os }}-node_modules - - - name: Install npm requirements - run: | - npm install - echo "SINGLEFILE_BINARY=$GITHUB_WORKSPACE/node_modules/.bin/single-file" >> $GITHUB_ENV - echo "READABILITY_BINARY=$GITHUB_WORKSPACE/node_modules/.bin/readability-extractor" >> $GITHUB_ENV - echo "MERCURY_BINARY=$GITHUB_WORKSPACE/node_modules/.bin/mercury-parser" >> $GITHUB_ENV + uv sync --dev --all-extras - name: Run test - ${{ matrix.test.name }} run: | - python -m pytest -xvs "${{ matrix.test.path }}" --basetemp=tests/out --ignore=archivebox/pkgs + uv run pytest -xvs "${{ matrix.test.path }}" --basetemp=tests/out --ignore=archivebox/pkgs