CI jobs that install LISA Instrument fail
It seems that CI jobs that pip install .
now fail (no matter what runner is used, dedicated or shared). These are "report" and "pytest" jobs. See, e.g., on master (https://gitlab.in2p3.fr/lisa-simulation/instrument/-/pipelines/344875) or on a feature branch (https://gitlab.in2p3.fr/lisa-simulation/instrument/-/pipelines/332819).
$ pip install .
Processing /builds/lisa-simulation/instrument
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'error'
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [56 lines of output]
running egg_info
creating /tmp/pip-pip-egg-info-cv4itgl0/lisainstrument.egg-info
writing /tmp/pip-pip-egg-info-cv4itgl0/lisainstrument.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-pip-egg-info-cv4itgl0/lisainstrument.egg-info/dependency_links.txt
writing requirements to /tmp/pip-pip-egg-info-cv4itgl0/lisainstrument.egg-info/requires.txt
writing top-level names to /tmp/pip-pip-egg-info-cv4itgl0/lisainstrument.egg-info/top_level.txt
writing manifest file '/tmp/pip-pip-egg-info-cv4itgl0/lisainstrument.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
/usr/local/lib/python3.8/site-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!
********************************************************************************
Requirements should be satisfied by a PEP 517 installer.
If you are using pip, you can try `pip install --use-pep517`.
********************************************************************************
!!
dist.fetch_build_eggs(dist.setup_requires)
/usr/local/lib/python3.8/site-packages/setuptools/_distutils/dist.py:260: UserWarning: Unknown distribution option: 'tests_require'
warnings.warn(msg)
/usr/local/lib/python3.8/site-packages/setuptools_scm/git.py:135: UserWarning: "/builds/lisa-simulation/instrument" is shallow and may cause errors
warnings.warn(f'"{wd.path}" is shallow and may cause errors')
no previously-included directories found matching 'docs'
warning: no previously-included files found matching 'zenodo.py'
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/builds/lisa-simulation/instrument/setup.py", line 12, in <module>
setuptools.setup(
File "/usr/local/lib/python3.8/site-packages/setuptools/__init__.py", line 117, in setup
return distutils.core.setup(**attrs)
File "/usr/local/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 184, in setup
return run_commands(dist)
File "/usr/local/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 200, in run_commands
dist.run_commands()
File "/usr/local/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/local/lib/python3.8/site-packages/setuptools/dist.py", line 950, in run_command
super().run_command(command)
File "/usr/local/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/local/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 311, in run
self.find_sources()
File "/usr/local/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 319, in find_sources
mm.run()
File "/usr/local/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 545, in run
self.prune_file_list()
File "/usr/local/lib/python3.8/site-packages/setuptools/command/sdist.py", line 161, in prune_file_list
super().prune_file_list()
File "/usr/local/lib/python3.8/site-packages/setuptools/_distutils/command/sdist.py", line 392, in prune_file_list
base_dir = self.distribution.get_fullname()
File "/usr/local/lib/python3.8/site-packages/setuptools/_core_metadata.py", line 267, in get_fullname
return _distribution_fullname(self.get_name(), self.get_version())
File "/usr/local/lib/python3.8/site-packages/setuptools/_core_metadata.py", line 285, in _distribution_fullname
canonicalize_version(version, strip_trailing_zero=False),
TypeError: canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero'
[end of output]
We have not touched setup.py and requirements.py for a year or so, so it is probably an incompatibility of some dependencies. Looking at https://github.com/pypa/setuptools/issues/4483, it might be due to interactions between setuptools and packaging (or other packaging tools).