Page MenuHomeSoftware Heritage

jobs/swh-environment: Ensure swh modules are installed in editable mode
ClosedPublic

Authored by anlambert on Sep 30 2020, 12:06 PM.

Details

Summary

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 D4066 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.

Diff Detail

Repository
rCJSWH Jenkins jobs
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.