We should have at least one CI job in merge request pipelines that
builds CMake with assertions enabled. We avoid using the `Debug`
configuration in order to keep CI artifacts small, so instead use
the `Release` configuration without `-DNDEBUG`.
This helps to maximize the amount of information visible in the GitLab
web interface.
Also document their meaning in the developer documentation and in the CI
configuration file directly.
See: https://gitlab.com/gitlab-org/gitlab/-/issues/8496
Since commit e216b9bbd3 (cmake: Allow CMAKE_BUILD_TYPE to be set by
environment variable, 2021-06-29), the `CMAKE_BUILD_TYPE` environment
variable is interpreted by CMake, and can affect the test suite.
Rename our CI config variable to avoid conflict.
In commit 7e5e558d0f (gitlab-ci: add job to test with clang-7 on
debian10, 2021-06-04) we added coverage of clang-7 with the Unix
Makefiles generator. Do the same for Ninja.
Test with a Clang version old enough to have caught the regression fixed
by commit 9411766c35 (BinUtils: Avoid llvm-objdump versions older than
Clang 9, 2021-05-29).
The OpenMPI package in Fedora 34 requires a CPU with AVX instructions.
Some of our CI machines do not have them, and so fail the FindMPI.Test
test with `SIGILL`. Switch to MPICH. Since we test with OpenMPI on the
Debian jobs, this covers more MPI vendors anyway.
The Sphinx build is mostly serial and takes a long time. All our CI
pipelines (packaging, integration branches, merge requests) have a
dedicated job for the Sphinx build.
Use `linux_release` in names associated with building or testing
release-style binaries. Add a `.linux_package` helper to adjust
the release binary build behavior for package-specific jobs.
* ci-fedora33-release:
gitlab-ci: use Fedora 33 to build sources
gitlab-ci: update Linux CI to use Fedora 33
ci: update to Fedora 33 for Linux builds
ci: install gmock in the Fedora 31 image
Tests/FindBoost/TestPython: support finding 3.8 and 3.9
clang-tidy: ignore new warnings from newer versions
clang-tidy: ignore `misc-no-recursion`
The gmock libraries are referenced by GTest's CMake package files.
While at it, also explicitly install gettext. It is installed already,
but make it explicit for future testing of the FindGettext module.
(cherry picked from commit 585cc7c930)
The gmock libraries are referenced by GTest's CMake package files.
While at it, also explicitly install gettext. It is installed already,
but make it explicit for future testing of the FindGettext module.
Nightly testing occasionally uncovers problems around long filenames
that were not found during gitlab-ci testing. Give a GitLab runner
a long filename to detect such problems.