Skip to content

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)

Merge request reports