lb-run -c best fails when +py3 is in the platform
Consider the following example nightly installation where x86_64-centos7-gcc9+py3-opt
is one of the available platforms.
ls -1 /cvmfs/lhcbdev.cern.ch/nightlies/lhcb-head/2743/Phys/InstallArea
x86_64+avx2+fma-centos7-gcc9-opt
x86_64-centos7-clang8-opt
x86_64-centos7-gcc9-do0
x86_64-centos7-gcc9+py3-opt
lb-run -c best --nightly lhcb-head/2743 Phys/HEAD
Traceback (most recent call last):
File "/cvmfs/lhcb.cern.ch/lib/var/lib/LbEnv/1006/unstable/linux-64/lib/python3.8/site-packages/LbEnv/ProjectEnv/script.py", line 1079, in main
super(LbRun, self).main()
File "/cvmfs/lhcb.cern.ch/lib/var/lib/LbEnv/1006/unstable/linux-64/lib/python3.8/site-packages/xenv/__init__.py", line 289, in main
self._makeEnv()
File "/cvmfs/lhcb.cern.ch/lib/var/lib/LbEnv/1006/unstable/linux-64/lib/python3.8/site-packages/LbEnv/ProjectEnv/script.py", line 846, in _makeEnv
self.opts.platform, self.opts.container = self._findPlatformAndContainer()
File "/cvmfs/lhcb.cern.ch/lib/var/lib/LbEnv/1006/unstable/linux-64/lib/python3.8/site-packages/LbEnv/ProjectEnv/script.py", line 658, in _findPlatformAndContainer
platforms = listPlatforms(self.project, self.version)
File "/cvmfs/lhcb.cern.ch/lib/var/lib/LbEnv/1006/unstable/linux-64/lib/python3.8/site-packages/LbEnv/ProjectEnv/lookup.py", line 395, in listPlatforms
return sorted(platforms, key=platform_sort_key, reverse=True)
File "/cvmfs/lhcb.cern.ch/lib/var/lib/LbEnv/1006/unstable/linux-64/lib/python3.8/site-packages/LbEnv/ProjectEnv/lookup.py", line 60, in platform_sort_key
comp = compilerKey(comp)
File "/cvmfs/lhcb.cern.ch/lib/var/lib/LbEnv/1006/unstable/linux-64/lib/python3.8/site-packages/LbEnv/ProjectEnv/lookup.py", line 83, in compilerKey
family, version = re.match(r"^([^\d]+)(\d+)+$", comp, re.IGNORECASE).groups()
AttributeError: 'NoneType' object has no attribute 'groups'