Open axch opened 9 years ago
This can presumably reuse the script(s) needed for #171
Specifically, one obvious first step would be to generalize script/jenkins/check_sdist.sh
to accept an optional requirements.txt file and install dependencies from that into the virtualenv before installing the Venture source distribution (they will not be auto-upgraded).
Progress report:
script/jenkins/venture-in-docker.sh
and script/jenkins/check_sdist.sh
have been generalized to accept a requirements file as an argument and pip install -r
its contents before doing pip install venture
. This permit controlling the versions of dependencies that are present on the system.tool/minimal_deps.py
that reads our requirements declaration and emits a requirements file consisting of the oldest (yes, oldest) versions of those packages. This tool also serves as an example of how to work with setuptools requirements and versions objects.New issue: I am now skeptical of our test suite's coverage of our dependencies, because the above build passes even though we have four unbounded dependencies: dill, networkx, ipyparallel, and jsonschema. Also, ipython is listed as >=1.2 (current is 4 something), which does not strike me as believable.
Consequently, I declare this blocked on #183 (for actually touching our dependencies) and on #50 (for getting rid of our dependency on IPython).
We might also want to test against minimal versions of our test dependencies (currently, the venture-sdist-docker-pip-dependency-variation
build only controls the main dependencies). The way to do that would be:
test_requires
field of setup.py
into a text file like install_requires
.tool/minimum_deps.py
to accept a source file name as an argument.venture-in-docker
and check_built_sdist
to accept another file of requirements to install after capability checking but before running the test suite (or not, since "works without the test dependencies" is being tested elsewhere)Status update: #50 is done, but this is still blocked on #183.
Ideally, any system that has all our listed dependencies installed, with versions agreeing with all of our version range limits, should be able to use all of Venture's functionality successfully. Actually testing exactly that is combinatorially difficult, but a selected subset may be useful.
Suggested path: