In order to share `.codespellrc` between our CI checks and `pre-commit`
checks, we need to match paths without the leading `./`. Convert to a
`bash` script so we can use `dotglob` to pass paths explicitly.
Unfortunately this means we can no longer run `codespell` manually with
no arguments. Instead we can run `.gitlab/ci/codespell.bash`.
The problem that motivated commit 3a44b8dfc0 (ci: Move job for HIP tests
on Fedora 39 to a dedicated base image, 2024-04-24, v3.30.0-rc1~202^2~11)
turns out to be exposed by spaces in the path to HIP binaries. Move the
CI work directory to a path without spaces.
Closes: #25932
Historically, `needs` specifies the jobs which need to complete
successfully and `dependencies` specifies the jobs which provide
artifacts which should be used. Modern GitLab discourages using both as
`needs` now supports an `artifacts` key to say "depend on but do not use
artifacts", so remove `dependencies` and use `needs:artifacts` where
necessary.
See: https://docs.gitlab.com/ee/ci/yaml/#needsartifacts
Sphinx 7.3 fixes the problem motivating commit fbed0431c2 (ci: Suppress
cmake.org html documentation search results for index entries,
2023-08-09, v3.27.2~2^2). Revert the workaround.
Fixes: #25175
Similar to commit 18145e8745 (ci: Update FindMPI test environment for
mpich on Fedora 39, 2023-11-16, v3.28.0-rc6~19^2~1), libfabric fails
with SIGILL on older hardware.
The ROCm 6 HIP packages on Fedora 40 do not seem to fully
work for our test suite in CI jobs. Use a dedicated image
to run our HIP tests on Fedora 39 so that the rest of our
Fedora jobs can be moved to Fedora 40 later.
Issue: #25932
Previously we provided a `.zip` archive with CRLF newlines and a
`.tar.gz` archive with LF newlines. This is no longer consistent
with modern conventions. Use LF newlines in both.
Fixes: #25467
Improves the handling of CUDA layouts where we have multiple include
and library directories listed in the output of `nvcc -v`. This
updates both when the CUDA language is enabled or not.
Fixes: #24915
Update the centos base image from centos 6 to centos 7. The latter is
the minimum version supported by libuv 1.45. The resulting binaries
require GLIBC 2.17.
Since commit 37e015d4a6 (Utilities/Sphinx: Refactor Sphinx reference
recording, 2023-03-08, v3.27.0-rc1~342^2~1) our documentation requires
Python 3.7 or higher. This is not available in the base images we use
to build Linux release binaries. These days our release packaging CI
pipeline builds the documentation in a separate job anyway.
Since Sphinx 5.2.0, the generated html search page reports all index
entries that match a query term. Unfortunately even non-main entries
get a high score, placing them before more important search results
such as document titles and domain object names.
Work around this for documentation published on `cmake.org` by removing
the logic from `searchtools.js` in the generated html documentation.
Issue: #25175
The Fedora `rocm-hip-devel` package organizes the `hip-lang` cmake package
differently from the official ROCm base images. Cover it separately.
Issue: #25050
The Debian package for `hipcc` organizes the `hip-lang` cmake package
differently from the official ROCm base images. Cover it separately.
Issue: #24562