From 346b7c7b235640a3db6c351cdd49edc3322a2b0b Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Thu, 12 Dec 2024 11:04:16 -0500 Subject: [PATCH 1/4] Tests: use uv with tox --- .circleci/config.yml | 5 +++-- requirements/docker.in | 1 + requirements/docker.txt | 7 +++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0ce781b9945..68d703a3815 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -26,7 +26,8 @@ jobs: - run: git submodule update --init - run: sudo apt update - run: sudo apt install -y rclone - - run: pip install --user tox + - run: pip install --user tox tox-uv + - run: tox --version - run: tox -e py310 - codecov/upload @@ -50,7 +51,7 @@ jobs: - run: git submodule update --init - run: sudo apt update - run: sudo apt install -y rclone - - run: pip install --user tox + - run: pip install --user tox tox-uv - run: tox -e ext-theme tests-embedapi: diff --git a/requirements/docker.in b/requirements/docker.in index 4d145275d69..de227ab6d62 100644 --- a/requirements/docker.in +++ b/requirements/docker.in @@ -4,6 +4,7 @@ # run tests tox +tox-uv # Used together with structlog to have nicer logs locally rich diff --git a/requirements/docker.txt b/requirements/docker.txt index 718392b56e1..c993e501e93 100644 --- a/requirements/docker.txt +++ b/requirements/docker.txt @@ -302,6 +302,7 @@ packaging==24.2 # gunicorn # pyproject-api # tox + # tox-uv parso==0.8.4 # via jedi pdbpp==0.10.3 @@ -451,6 +452,10 @@ tomli==2.2.1 # pyproject-api # tox tox==4.23.2 + # via + # -r requirements/docker.in + # tox-uv +tox-uv==1.16.1 # via -r requirements/docker.in traitlets==5.14.3 # via @@ -496,6 +501,8 @@ urllib3==2.2.3 # requests user-agents==2.2.0 # via -r requirements/pip.txt +uv==0.5.8 + # via tox-uv vine==5.1.0 # via # -r requirements/pip.txt From 2c70b14f645554049c5099d246219556812e9b8c Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Thu, 12 Dec 2024 11:08:41 -0500 Subject: [PATCH 2/4] More uv --- .circleci/config.yml | 6 ++++-- tox.embedapi.ini | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 68d703a3815..2f846a9e82e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -52,6 +52,7 @@ jobs: - run: sudo apt update - run: sudo apt install -y rclone - run: pip install --user tox tox-uv + - run: tox --version - run: tox -e ext-theme tests-embedapi: @@ -61,7 +62,7 @@ jobs: - checkout - run: git submodule sync - run: git submodule update --init - - run: pip install --user 'tox<4' + - run: pip install --user tox tox-uv - run: tox --version - run: tox -c tox.embedapi.ini @@ -82,7 +83,8 @@ jobs: - restore_cache: keys: - pre-commit-cache-{{ checksum "pre-commit-cache-key.txt" }} - - run: pip install --user tox + - run: pip install --user tox tox-uv + - run: tox --version - run: tox -e pre-commit - run: tox -e migrations - node/install: diff --git a/tox.embedapi.ini b/tox.embedapi.ini index ef2e038442e..ab46a2d6030 100644 --- a/tox.embedapi.ini +++ b/tox.embedapi.ini @@ -18,8 +18,8 @@ install_command = # Sphinx from `requirements/pip.txt` but from the `deps=` field. sh -c ' \ cat {toxinidir}/requirements/testing.txt | grep -v "Sphinx" > {toxinidir}/requirements/embedapi.txt; \ - pip install -r {toxinidir}/requirements/embedapi.txt; \ - pip install $*;' -- {opts} {packages} + uv pip install -r {toxinidir}/requirements/embedapi.txt; \ + uv pip install $*;' -- {opts} {packages} deps = sphinx-24: Sphinx~=2.4.0 sphinx-35: Sphinx~=3.5.0 From df6eeed44f8ae9c2ee94f283db57c36775e387f8 Mon Sep 17 00:00:00 2001 From: Manuel Kaufmann Date: Mon, 24 Feb 2025 12:55:29 +0100 Subject: [PATCH 3/4] Use `uv pip sync` for a file --- tox.embedapi.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.embedapi.ini b/tox.embedapi.ini index 4eea461c61f..9af56896def 100644 --- a/tox.embedapi.ini +++ b/tox.embedapi.ini @@ -15,7 +15,7 @@ install_command = # Sphinx from `requirements/pip.txt` but from the `deps=` field. sh -c ' \ cat {toxinidir}/requirements/testing.txt | grep -v "Sphinx" > {toxinidir}/requirements/embedapi.txt; \ - uv pip install -r {toxinidir}/requirements/embedapi.txt; \ + uv pip sync {toxinidir}/requirements/embedapi.txt; \ uv pip install $*;' -- {opts} {packages} deps = sphinx-45: Sphinx~=4.5.0 From 61aa39044198eb8868938b6ff9c7f5958afcdf19 Mon Sep 17 00:00:00 2001 From: Manuel Kaufmann Date: Tue, 22 Apr 2025 14:29:05 +0200 Subject: [PATCH 4/4] We can't pass `{opts}` here ``` /usr/bin/sh -c ' cat /home/circleci/project/requirements/testing.txt | grep -v "Sphinx" > /home/circleci/project/requirements/embedapi.txt; uv pip sync /home/circleci/project/requirements/embedapi.txt; uv pip install $*;' -- --exists-action w .tox/.tmp/package/1/readthedocs-12.0.5.zip ``` Something is passing `--exists-action w` for some reason and it fails. --- tox.embedapi.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.embedapi.ini b/tox.embedapi.ini index 9af56896def..68f9be40e14 100644 --- a/tox.embedapi.ini +++ b/tox.embedapi.ini @@ -16,7 +16,7 @@ install_command = sh -c ' \ cat {toxinidir}/requirements/testing.txt | grep -v "Sphinx" > {toxinidir}/requirements/embedapi.txt; \ uv pip sync {toxinidir}/requirements/embedapi.txt; \ - uv pip install $*;' -- {opts} {packages} + uv pip install $*;' -- {packages} deps = sphinx-45: Sphinx~=4.5.0 sphinx-53: Sphinx~=5.3.0