jobs/swh-environment: Ensure swh modules are installed in editable mode
I noticed that some tests in the swh-environment job were marked as successfull but they should have failed (https://jenkins.softwareheritage.org/job/DENV/job/tests/129/).
Indeed, until swh/devel/swh-storage!588 (closed) gets landed, the tests of swh-loader-core
, swh-vault
and swh-web
are currently failing.
This is due to a pip install
hell.
Indeed in a new venv pip install $(./bin/pip-swh-packages --with-testing)
has the side
effect to get some swh modules from PyPI because they are declared in some requirements-test.txt
files. This breaks the installation ordering based on the topological sort of swh module dependencies
graph and thus some modules ended up being installed in non editable mode.
So ensure all swh modules are installed in editable mode first before installing test dependencies.
Also this requires a recent version of pip as some modules still end up being intalled in non editable mode without upgrading it.
The changes have been tested in https://jenkins.softwareheritage.org/job/DENV/job/tests/136/, tests that should fail now fail and are correctly reported.
I also added a commit to allow empty log artifacts and avoid build error when all tests succeeded.
Migrated from D4097 (view on Phabricator)