Staging instance, all changes can be removed at any time

Skip to content

bin/py-depgraph: Use more robust way to remove dep version pin

I noticed the swh-environment Jenkins job now fails to execute each test suite. https://jenkins.softwareheritage.org/job/DENV/job/tests/174/console

Reading the logs, we see that line:

ERROR: swh-model>=0-7-0[testing] is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with svn+, git+, hg+, or bzr+).

The issue comes from the bin/py-depgraph script which do not remove pinned version info when there is no spaces between the dependency name and its pinned version. The addition of swh-fuse repository triggered the issue as dependencies are formatted the way described above (https://forge.softwareheritage.org/source/swh-fuse/browse/master/requirements-swh.txt). Thus, the following ouput is provided as pip arguments which raises the error:

15:58 $ ./bin/pip-swh-packages --with-testing
-e swh-core[testing]
-e swh-model[testing]
-e swh-core[db,http,testing]
-e swh-objstorage[testing]
-e swh-storage[testing]
-e swh-scheduler[testing]
-e swh-journal[testing]
-e swh-model>=0-7-0[testing]
-e swh-web-client>=0-2-1[testing]
-e swh-loader-core[testing]
-e swh-indexer[testing]
-e swh-search[testing]
-e swh-vault[testing]
-e swh-deposit[testing]
-e swh-fuse[testing]
-e swh-graph[testing]
-e swh-lister[testing]
-e swh-loader-git[testing]
-e swh-loader-mercurial[testing]
-e swh-loader-svn[testing]
-e swh-objstorage-replayer[testing]
-e swh-scanner[testing]
-e swh-web[testing]
-e swh-web-client[testing]
-e swh-icinga-plugins[testing]
-e swh-docs[testing]
-e swh-dataset[testing]

That diff ensures pinned version will be correctly removed for all formats.


Migrated from D4220 (view on Phabricator)

Merge request reports

Loading