Page MenuHomePhabricator

LibUp Wikibase error semver.exceptions.ParseVersionError: Unable to parse "dev-master#ba6fcfd823d623ba73c2faba5a208067281c4c38"
Open, Needs TriagePublic

Description

From: https://libraryupgrader2.wmflabs.org/r/mediawiki/extensions/Wikibase

Traceback (most recent call last):
  File "/src/libup/ng.py", line 1033, in main
    libup.run(args.repo, args.output)
  File "/src/libup/ng.py", line 985, in run
    self.composer_upgrade(self.output)
  File "/src/libup/ng.py", line 523, in composer_upgrade
    if lib.is_newer() and lib.is_latest_safe() and \
  File "/src/libup/library.py", line 88, in is_newer
    return is_greater_than(self.version, self.latest_version())
  File "/src/libup/library.py", line 101, in is_greater_than
    return semver.Version.parse(second) > semver.Version.parse(first)
  File "/nonexistent/virtualenvs/libup-VsnhxLU2-py3.7/lib/python3.7/site-packages/semver/version.py", line 205, in parse
    raise ParseVersionError('Unable to parse "{}".'.format(text))
semver.exceptions.ParseVersionError: Unable to parse "dev-master#ba6fcfd823d623ba73c2faba5a208067281c4c38".

This is coming from https://gerrit.wikimedia.org/g/mediawiki/extensions/Wikibase/+/2ed426e804ea223ae757f7f953d08a0d00f92d0f/composer.json#48

Values like this should be allowed and just ignored
The relates in some way to T237164

Event Timeline

Addshore updated the task description. (Show Details)

Now fails on another constraint

https://libraryupgrader2.wmcloud.org/logs2/9983

Traceback (most recent call last):
  File "/venv/lib/python3.7/site-packages/libup-0.0.1-py3.7.egg/libup/ng.py", line 1184, in main
    libup.run(args.repo, args.output, args.branch)
  File "/venv/lib/python3.7/site-packages/libup-0.0.1-py3.7.egg/libup/ng.py", line 1150, in run
    self.fix_eslint_config()
  File "/venv/lib/python3.7/site-packages/libup-0.0.1-py3.7.egg/libup/ng.py", line 498, in fix_eslint_config
    and library.is_greater_than_or_equal_to('0.16.0', eslint_cfg):
  File "/venv/lib/python3.7/site-packages/libup-0.0.1-py3.7.egg/libup/library.py", line 53, in is_greater_than_or_equal_to
    return semver.Version.parse(second) >= semver.Version.parse(first)
  File "/venv/lib/python3.7/site-packages/semver/version.py", line 205, in parse
    raise ParseVersionError('Unable to parse "{}".'.format(text))
semver.exceptions.ParseVersionError: Unable to parse "^0.16.2".

Still happens for REL1_35

Traceback (most recent call last):
  File "/venv/lib/python3.7/site-packages/libup-0.0.1-py3.7.egg/libup/ng.py", line 1199, in main
    libup.run(args.repo, args.output, args.branch)
  File "/venv/lib/python3.7/site-packages/libup-0.0.1-py3.7.egg/libup/ng.py", line 1165, in run
    self.fix_eslint_config()
  File "/venv/lib/python3.7/site-packages/libup-0.0.1-py3.7.egg/libup/ng.py", line 514, in fix_eslint_config
    and library.is_greater_than_or_equal_to('0.16.0', eslint_cfg):
  File "/venv/lib/python3.7/site-packages/libup-0.0.1-py3.7.egg/libup/library.py", line 53, in is_greater_than_or_equal_to
    return semver.Version.parse(second) >= semver.Version.parse(first)
  File "/venv/lib/python3.7/site-packages/semver/version.py", line 205, in parse
    raise ParseVersionError('Unable to parse "{}".'.format(text))
semver.exceptions.ParseVersionError: Unable to parse "^0.16.2".

The original exception has been fixed. The new one is because on REL1_35 eslint-config-wikimedia isn't pinned and using a ^ expression instead.