Upgrade clang-format and use Ruff for Python linting and formatting

This MR updates clang-format to version 16 and switch to Ruff for Python linting and formatting (see #42 (closed) and gaudi/Gaudi!1591 (merged)).

I didn't include (yet) a full reformatting as it touches almost all files (because of a bug fix in the formatting logic) and we have too many MRs that would end up with conflicts.

Another thing that should be taken into account is that pre-commit relies on connections to remote Git repositories for the bootstrap. At the moment it tries to connect to github, so it fails on machines that cannot access github (like some of the LHCb private build machines), see gaudi/Gaudi#247. One option would be add mirrors on gitlab of the repositories we use (like those in https://gitlab.cern.ch/lhcb-core/mirrors).

This is a partial follow up on https://mattermost.web.cern.ch/lhcb/pl/umdze4wazjdq58pnr9dse9ezqa

Fixes #42 (closed)

Edited by Marco Clemencic

Merge request reports

Loading