diff --git a/.ci/run b/.ci/run index 38070f34..060a7de8 100755 --- a/.ci/run +++ b/.ci/run @@ -11,6 +11,8 @@ if ! command -v sudo; then } fi +# --parallel-live to show outputs while it's running +tox_cmd='run-parallel --parallel-live' if [ -n "${CI-}" ]; then # install OS specific stuff here # TODO: pyjq is not necessary anymore? will keep CI deps just in case I guess @@ -25,7 +27,8 @@ if [ -n "${CI-}" ]; then ;; cygwin* | msys* | win*) # windows - : + # ugh. parallel stuff seems super flaky under windows, some random failures, "file used by other process" and crap like that + tox_cmd='run' ;; *) # must be linux? @@ -44,5 +47,9 @@ if ! command -v python3 &> /dev/null; then PY_BIN="python" fi -"$PY_BIN" -m pip install --user tox -"$PY_BIN" -m tox --parallel --parallel-live "$@" + +# TODO hmm for some reason installing uv with pip and then running +# "$PY_BIN" -m uv tool fails with missing setuptools error?? +# just uvx directly works, but it's not present in PATH... +"$PY_BIN" -m pip install --user pipx +"$PY_BIN" -m pipx run uv tool run --with=tox-uv tox $tox_cmd "$@" diff --git a/tox.ini b/tox.ini index 260df645..85f93f71 100644 --- a/tox.ini +++ b/tox.ini @@ -25,10 +25,9 @@ passenv = # but we want them on CI, so we allow to pass through the variable when we do want to run them WITH_BROWSER_TESTS # todo ugh this is all so confusing... need to simplify -usedevelop = true # for some reason tox seems to ignore "-e ." in deps section?? -# note: --use-pep517 here is necessary for tox --parallel flag to work properly -# otherwise it seems that it tries to modify .eggs dir in parallel and it fails -install_command = {envpython} -m pip install --use-pep517 {opts} {packages} +setenv = + HPI_MODULE_INSTALL_USE_UV=true +uv_seed = true # seems necessary so uv creates separate venvs per tox env? [testenv:ruff]