Commit Graph

121 Commits

Author SHA1 Message Date
Brad King
679d201df7 gitlab-ci: Update HIP job to ROCm 5.5 2023-06-02 09:46:47 -04:00
Brad King
1689e0a118 ci: Subsume Clang C++ modules testing in main Fedora+Clang jobs
Fedora 38 comes with LLVM/Clang 16.0, which supports the features we
need for C++ modules.
2023-05-22 17:16:13 -04:00
Brad King
bdaa9e1e4e ci: use Fedora 38 images and environments 2023-05-22 17:16:12 -04:00
Brad King
f24c6ae5b8 ci: Add nlohmann-json to Fedora base image
We need version 3.11.2 or higher, which Debian 10 does not package,
so leave it out of the Debian base images.
2023-05-17 09:50:24 -04:00
Brad King
28c4945a8a ci: Add HDF5 to Debian and Fedora base images 2023-03-29 17:18:30 -04:00
Brad King
42c84b1e2e ci: Add wxWidgets to Debian and Fedora base images 2023-03-08 16:38:33 -05:00
Kefu Chai
65ff605e44 ci: use the latest clang-scan-deps options
P1689 support has been merged in Clang trunk and Clang 16 branch, so we
are now able to use the finalized clang-scan-deps command line options.

See also llvm-project's clang/test/ClangScanDeps/P1689.cppm [1] for the
samples of clang-scan-deps usages.

[1] https://github.com/llvm/llvm-project/blob/6d859df46e/clang/test/ClangScanDeps/P1689.cppm

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2023-02-15 14:40:11 -05:00
Alex Turbov
fc8335a17f ci: Reduce Fedora and Debian image sizes even more
Apply the approach from commit 354fdf2116 (ci: Reduce intermediate
docker layers and final image size, 2023-02-01) to more stages.

Also:

* Use cache (prefetch metadata and packages) to reduce network I/O
  and speedup image build.

* Use `tmpfs` to drop logs produced by the package manager.
2023-02-07 11:58:21 -05:00
Alex Turbov
354fdf2116 ci: Reduce intermediate docker layers and final image size
Instead of `COPY` to get tar files, execute `RUN` w/ `--mount`.
Note that this requires the docker "buildkit" feature to be enabled.
2023-02-06 10:13:06 -05:00
Brad King
85f16fe913 ci: add ImageMagick to Debian and Fedora base images 2023-01-26 13:00:28 -05:00
Ben Boeckel
5dc17d0a7a gitlab-ci: update to new Clang CI image for C++ modules 2022-12-15 18:43:55 -05:00
Kyle Edwards
42445b2c04 ci: run commit messages through codespell 2022-12-13 10:29:20 -05:00
Brad King
ae610be60f gitlab-ci: de-duplicate cuda job settings 2022-12-07 09:41:04 -05:00
Brad King
602c24f778 Merge topic 'ci-nvhpc'
12d032b265 gitlab-ci: Update NVHPC to version 22.11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7994
2022-12-07 08:15:13 -05:00
Brad King
5f94655808 Merge topic 'ci-cuda-no-static'
004f954401 ci: Add job to test minimal CUDA install (no static libs)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7996
2022-12-07 08:13:48 -05:00
Robert Maynard
004f954401 ci: Add job to test minimal CUDA install (no static libs)
Some package managers provide a minimal set of static libraries,
which historically has caused problems for FindCUDAToolkit.
Resolve this issue by creating a CUDA image with only the minimal
set of static libraries.
2022-12-06 15:44:33 -05:00
Brad King
12d032b265 gitlab-ci: Update NVHPC to version 22.11
Fixes: #24225
2022-12-06 10:59:24 -05:00
Brad King
6f619d2de6 Merge topic 'ci-pre-build-post-build'
a7be3c961f ci: build clang-tidy plugin in pre-build step
372ce5bffe ci: add pre-build and post-build steps to Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7989
2022-12-06 08:09:07 -05:00
Kyle Edwards
372ce5bffe ci: add pre-build and post-build steps to Linux
The pre-build step will allow actions to be executed before the
CMake build but after Ninja and sccache have been downloaded, so
they can be used in the pre-build step. The env step is meant for
setting up environment variables anyway, rather than performing
actions.

The post-build step will allow extra artifacts to be computed after
the build is complete.
2022-12-05 17:43:31 -05:00
Ben Boeckel
2c558cfd1b gitlab-ci: add CI jobs for Clang with C++20 modules 2022-12-02 13:16:16 -05:00
Brad King
c212c7dc8b gitlab-ci: drop unnecessary linux kernel version tag
All our CI hosts now have Linux kernel version 3.17 or higher,
so we no longer need a dedicated tag.
2022-11-30 13:11:11 -05:00
Brad King
94d82d91d5 gitlab-ci: replace 'linux' tags with 'linux-x86_64'
The latter tag is now available on our CI runners to more explicitly
distinguish `linux-x86_64` from `linux-aarch64`.
2022-11-30 11:32:10 -05:00
Brad King
e8c6e06815 gitlab-ci: rename tag configuration entries to start in '$os_$arch_tags'
This groups their definitions nicely, and makes their purpose more
clear from reference sites.
2022-11-30 11:27:56 -05:00
Brad King
ebbc3a8171 gitlab-ci: remove unnecessary component of configuration entry names
The '_builder' part of tag entry names is not useful with our current
naming conventions.
2022-11-30 11:27:35 -05:00
Brad King
16a5c36795 gitlab-ci: add nightly job testing NVHPC with Ninja on Linux 2022-11-28 18:05:13 -05:00
Brad King
99370e990e gitlab-ci: add jobs to test with Clang and LLVMFlang on Fedora
We already have `t:debian10-{makefiles,ninja}-clang` jobs covering old
versions of Clang with Makefile and Ninja generators.  Complement them
with new `t:fedora37-{makefiles,ninja}-clang` jobs covering recent
versions of Clang.

Fedora 37 now packages LLVMFlang, so enable Fortran tests with that
compiler too.

Issue: #22387
2022-11-18 09:13:51 -05:00
Brad King
757d9f1507 gitlab-ci: use Fedora 37 images and environments 2022-11-17 08:23:52 -05:00
Kyle Edwards
c239e7c259 ci: add include-what-you-use to Fedora base image 2022-10-04 13:30:52 -04:00
Brad King
9c8c965435 ci: Revert "add clang-tidy to Debian x86_64 base image"
Revert commit 0ac9ec47f6 (ci: add clang-tidy to Debian x86_64 base
image, 2022-09-20).  Our clang-tidy job runs under Fedora, and we need
the plugin to compile there anyway, so lints like IWYU will best be done
in the Fedora image.

Issue: #23912
2022-09-29 11:19:42 -04:00
Kyle Edwards
0ac9ec47f6 ci: add clang-tidy to Debian x86_64 base image
Issue: #23912
2022-09-22 11:44:59 -04:00
Kyle Edwards
703f39354e ci: add clang-tidy development headers to Fedora base image
Prepare to build our own clang-tidy plugin in CI.
2022-08-31 15:07:20 -04:00
Brad King
4bcdf1b992 ci: add OpenSP to Debian and Fedora base images 2022-08-30 12:46:03 -04:00
Brad King
b55152e7ad gitlab-ci: add jobs to test CMake with external dependencies on Linux
Test that CMake works without its bundled dependencies.
For some dependencies, test using the minimum supported version.
2022-08-18 15:49:08 -04:00
Brad King
6a05d107ca ci: add CMake external build dependencies to Debian and Fedora base images 2022-08-18 15:49:08 -04:00
Kyle Edwards
bf7e3124cb Remove stale references to CMakeServerLib 2022-08-02 11:05:52 -04:00
Brad King
71a6982e91 Merge topic 'gcc-modules-ci-missing-git'
5db79b5cd3 gitlab-ci: update to an image with git installed
3e1ace7f46 ci: add git to the CI image

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7398
2022-06-23 09:37:40 -04:00
Brad King
2f3ea66a76 Merge topic 'ci-openal'
b97d371007 ci: Add OpenAL to Debian and Fedora base images

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7394
2022-06-22 08:46:31 -04:00
Ben Boeckel
5db79b5cd3 gitlab-ci: update to an image with git installed 2022-06-21 17:39:11 -04:00
Brad King
b97d371007 ci: Add OpenAL to Debian and Fedora base images 2022-06-21 12:27:58 -04:00
Ben Boeckel
07bc3b07ec gitlab-ci: test C++ modules using GCC 2022-06-16 10:28:34 -04:00
Brad King
49996faaac ci: remove ISPC from the Fedora CI image
Revert commit 5ece12b7e4 (gitlab-ci: add ISPC to the Fedora CI image,
2020-08-18, v3.19.0-rc1~244^2).  Later we will download ISPC in specific
jobs.

Update a `RunCMake.NinjaMultiConfig` test expectation to account for
a change to the Qt deployed on Fedora 36.
2022-06-06 16:59:25 -04:00
Ben Boeckel
ef6a7921e5 gitlab-ci: use Fedora 36 images and environments 2022-05-24 09:09:45 -04:00
Brad King
2228e545e1 ci: Add libicu to Debian and Fedora base images 2022-04-22 10:24:29 -04:00
Brad King
5c429c5b40 Merge topic 'ci-cmake.org-help'
b691906d27 gitlab-ci: Build qthelp-format release documentation for cmake.org
1ceec19c20 gitlab-ci: Add objects.inv to cmake.org html documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7146
2022-04-06 13:02:38 -04:00
Brad King
b691906d27 gitlab-ci: Build qthelp-format release documentation for cmake.org
Previously the qthelp-format release documentation on `cmake.org` was
built manually.
2022-04-06 09:59:14 -04:00
Brad King
2ce668b11d Merge branch 'backport-ci-cmake.org-help' into ci-cmake.org-help 2022-04-05 16:51:04 -04:00
Brad King
2808281730 gitlab-ci: update cmake.org documentation in release package pipeline 2022-04-05 16:09:55 -04:00
Brad King
a14905d4df Utilities/Sphinx: Add option to build outdated version banner for cmake.org
This was previously added in a custom branch for building the
cmake.org reference documentation.
2022-04-05 16:09:54 -04:00
Brad King
cca73b54ae Utilities/Sphinx: Add undocumented option to build docs for cmake.org 2022-04-05 16:09:54 -04:00
Brad King
97f4aa1f05 ci: Add OpenJDK to Debian and Fedora base images
This enables the `JavaExportImport` test in CI.
2022-03-21 16:30:58 -04:00