Commit Graph

71 Commits

Author SHA1 Message Date
Brad King
ff8c0e9c10 ci: Clamp CUDA 'native' architecture to values supported by its toolkit
The `native` architecture compiles for the host's GPUs, but our CI jobs
may may run on hosts with GPUs newer than supported by their version of
the CUDA toolkit.  Add an undocumented environment variable to tell
CMake to clamp the native architecture to that supported by the toolkit.

Without this, we may try to compile for architectures not supported by
the CUDA Toolkit, which fails.  Since commit d1b48bfabd (CUDA: Add
support for CUDA_ARCHITECTURES=native, 2022-03-04), our CUDA 9.2 CI job
fails when it runs on a CI host with a GPU architecture newer than that
CUDA 9.2 supports.  Clamping the architecture level fixes that.

Do not document this clamp behavior publicly, at least for now.
Users can be responsible for building with a CUDA toolkit recent
enough to support their host's GPUs.

Issue: #22375
2022-03-16 13:14:51 -04:00
Brad King
8aeabc9d6a Merge topic 'ci-cuda-11.6'
1f601753d7 gitlab-ci: add jobs testing cuda11.6 with nvcc and clang 13
7716750062 ci: add cuda11.6 base image
77bdcc949d gitlab-ci: run CUDA and HIP test jobs in any non-MR pipeline

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7038
2022-03-04 09:02:25 -05:00
Brad King
1f601753d7 gitlab-ci: add jobs testing cuda11.6 with nvcc and clang 13 2022-03-03 12:46:47 -05:00
Brad King
b88f7aad63 ci: add nightly CI job to build CMake in-place 2022-03-02 09:47:02 -05:00
Brad King
1613d87dee ci: Rename ctest_test_external.cmake to ctest_standalone.cmake
The script is a standalone ctest script that runs all steps.
It can be used for more than just external tests.
2022-03-02 09:47:02 -05:00
Brad King
ac37e99453 ci: Rename variable CMake_SKIP_INSTALL to CMAKE_CI_NO_INSTALL
The latter follows our convention for other variable names.
2022-03-02 09:47:02 -05:00
Brad King
0e7172e615 ci: Add Swift compiler runtime dependencies to Debian base image
The actual compiler is too large to put in the base image.
Install its dependencies so we can download and run it in a job.
Note that Swift binaries are only available for `x86_64`.
2022-02-25 13:07:01 -05:00
Brad King
f9526f39a1 ci: Add bzr and p4 to Debian and Fedora base images
Perforce does not provide binaries for `aarch64`, so leave it out for
that architecture.

Fedora now packages `breezy` instead of the original `bzr`. Note that
breezy does not have the xmloutput plugin needed for `bzr log --xml`.
This is also why commit 1972a75536 (Tests: Drop CTestUpdate.BZR test
check for xmloutput plugin, 2022-02-04) observed that there is no
`bzr xmlplugins` command.
2022-02-22 13:58:59 -05:00
Brad King
c76abba044 gitlab-ci: update to Fedora 35 base images 2022-02-01 17:20:29 -05:00
Brad King
45feab3c00 gitlab-ci: enable assertions on fedora34-ninja jobs
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`.
2022-01-31 11:34:12 -05:00
Ben Boeckel
7d5828e293 gitlab-ci: shorten job prefixes
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
2021-11-23 10:11:25 -05:00
Brad King
fae34ea007 ci: add gmock to Debian base images
It is already in the Fedora base images.
2021-11-18 12:54:32 -05:00
Brad King
6dd9245635 gitlab-ci: Add cmake and ninja to PATH incrementally 2021-10-06 13:22:32 -04:00
Brad King
ae41e325a7 Merge topic 'ci-ctest-update'
3b581ab3aa ci: Enable CTest.Update{CVS,SVN,HG} tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6596
2021-10-06 10:22:22 -04:00
Brad King
3b581ab3aa ci: Enable CTest.Update{CVS,SVN,HG} tests
Enable all three in Debian builds.  Leave out CVS in Fedora builds
because the cvs package was not built with `--enable-rootcommit`.
2021-10-05 11:06:42 -04:00
Brad King
5329366527 ci: update cuda9.2 base image after DST Root CA X3 expiry 2021-10-01 10:21:39 -04:00
Brad King
71ab24015f gitlab-ci: add job testing hip4.2 with Ninja Multi-Config 2021-07-09 13:48:28 -04:00
Brad King
058253aa87 Merge topic 'ci-fixups'
46c89c77de gitlab-ci: Rename CI config variable to avoid conflict with CMAKE_BUILD_TYPE
3ede66e17a Tests: Fix newline matching in several RunCMake.* cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6298
2021-07-06 09:47:50 -04:00
Brad King
46c89c77de gitlab-ci: Rename CI config variable to avoid conflict with CMAKE_BUILD_TYPE
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.
2021-07-02 08:19:43 -04:00
Brad King
6b0b6efc75 gitlab-ci: add job testing cuda9.2 with Ninja Multi-Config 2021-07-01 11:47:02 -04:00
Brad King
53cb34cb23 ci: add freeglut to Debian and Fedora base images 2021-06-28 11:10:30 -04:00
Brad King
54860f1f6b Merge topic 'ci-clang'
886a97cbe7 gitlab-ci: add job to test with clang-7 and ninja on debian10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6237
2021-06-17 06:36:32 -04:00
Brad King
886a97cbe7 gitlab-ci: add job to test with clang-7 and ninja on debian10
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.
2021-06-16 14:57:34 -04:00
Brad King
f7af01efb6 gitlab-ci: add job testing cuda10.2 with clang 11 2021-06-16 14:25:38 -04:00
Brad King
9548b059c0 ci: add clang-11 to cuda10.2 base image 2021-06-16 14:18:09 -04:00
Brad King
1186ed64d0 ci: add rpm-build to Fedora base image
This is needed to test the CPack RPM generator.
2021-06-10 14:44:02 -04:00
Brad King
20bc209a0c gitlab-ci: add clang asan job 2021-06-08 09:54:08 -04:00
Brad King
19d831b03d ci: add compiler-rt to Fedora base image
This is needed for `clang -fsanitize=` flags.
2021-06-08 09:13:50 -04:00
Brad King
7e5e558d0f gitlab-ci: add job to test with clang-7 on debian10
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).
2021-06-04 13:30:19 -04:00
Brad King
da14f4e19e gitlab-ci: add job to build with clang-analyzer
Update the exceptions in `CTestCustom.cmake.in` to match this job's
needs.  Drop exceptions needed only by our previous nightly build.
2021-06-03 15:06:42 -04:00
Brad King
adc38da49f ci: add clang-analyzer to Fedora base image 2021-06-03 14:59:55 -04:00
Brad King
2bc0708c39 ci: Switch to MPICH in Fedora jobs
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.
2021-05-21 12:37:37 -04:00
Brad King
bca69d4272 gitlab-ci: add codespell lint job 2021-05-12 07:35:16 -04:00
Brad King
27adb6c78e gitlab-ci: update Debian base images 2021-05-12 07:17:54 -04:00
Brad King
89478e643f gitlab-ci: update to Fedora 34 base images 2021-05-12 07:17:54 -04:00
Brad King
354ae6fe2e gitlab-ci: add jobs to build cmake.org/cmake/help/git-{master,stage} docs 2021-05-07 09:52:59 -04:00
Brad King
be023ff4db Merge branch 'backport-ci-linux-updates' into ci-linux-updates 2021-04-06 10:49:39 -04:00
Brad King
8ca8b74a96 ci: add jq and DevIL to Debian and Fedora base images 2021-04-06 10:49:16 -04:00
Brad King
1610c0f034 gitlab-ci: add jobs testing Intel oneAPI compilers on Linux 2021-03-17 11:41:26 -04:00
Brad King
c076833310 gitlab-ci: add jobs testing Intel Classic compilers on Linux 2021-03-17 11:41:26 -04:00
Brad King
5ea928d9d2 gitlab-ci: factor out job dependencies on release-style binaries 2021-03-17 11:41:25 -04:00
Brad King
747940157f gitlab-ci: init environment with per-CMAKE_CONFIGURATION shell scripts 2021-03-17 11:41:25 -04:00
Brad King
9b5eae9cde gitlab-ci: remove redundant sphinx build from release-style CI jobs
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.
2021-03-12 13:05:55 -05:00
Brad King
430224b6e8 gitlab-ci: add test:debian10-aarch64-ninja job 2021-01-27 11:59:54 -05:00
Brad King
616bf0d2f0 gitlab-ci: consolidate release and package job infrastructure
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.
2021-01-27 10:29:38 -05:00
Brad King
dc9340dbc4 Utilities/Release: Rename Linux packages to 'linux-$arch' 2021-01-25 13:53:40 -05:00
Hi Key
fe1bd15ad7 gitlab-ci: add jobs to make Linux release packages for aarch64 2020-12-22 14:05:17 -05:00
Brad King
24247155af Merge branch 'backport-rel-linux-aarch64' into rel-linux-aarch64 2020-12-22 14:04:59 -05:00
Brad King
595551a805 gitlab-ci: consolidate Linux release package job spec for x86_64 2020-12-22 14:04:39 -05:00
Ben Boeckel
3d1183c457 Merge branch 'ci-fedora33-release' into ci-fedora33
* 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`
2020-11-13 09:46:40 -05:00