From 7b195dbcd3255e67c20ba98ab4685cde865a6dfb Mon Sep 17 00:00:00 2001 From: James Rosewell Date: Fri, 13 Nov 2026 01:22:26 +0000 Subject: [PATCH] Test location's built packages before a publish without the editable copies The publish's Test job runs each package's tox pre-publish environment against the packages just built, listed in package/pre-publish-requirements.txt. location/tox.ini built that environment from {[testenv]deps}, which since the packages started testing against this checkout also holds editable copies of the pipeline packages. pip will not install a built and an editable copy of the same package together, so location's pre-publish stopped with ResolutionImpossible and every Test job of the publish failed. The other products keep their test tools in a [common] section and build pre-publish from that alone. location now does the same, and its py environment is unchanged. --- location/tox.ini | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/location/tox.ini b/location/tox.ini index dbb7b77b..c625edbc 100644 --- a/location/tox.ini +++ b/location/tox.ini @@ -1,13 +1,17 @@ [tox] minversion = 4.0 +[common] +deps = + pytest>=6 + pytest-cov + [testenv] description = run the tests with pytest package = wheel wheel_build_env = .pkg deps = - pytest>=6 - pytest-cov + {[common]deps} # The packages it depends on come from this checkout rather than a # package index, so the tests run with the code they are released with. -e../pipeline/fiftyone_pipeline_core/ @@ -21,8 +25,11 @@ pass_env = _51DEGREES_LICENSE_KEY license_key +# Tests the packages just built, so it takes the test tools from [common] +# and every package from the requirements file, never the editable copies +# above, which pip refuses beside a built copy of the same package. [testenv:pre-publish] package = skip deps = - {[testenv]deps} + {[common]deps} -r ../../package/pre-publish-requirements.txt