Skip to content

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