Commit Graph

172 Commits

Author SHA1 Message Date
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
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 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
Brad King 90286c1a08 gitlab-ci: Fix rules for running two dependent test jobs 2022-11-17 08:23:52 -05:00
Brad King 6cf026ab06 ci: add macos-x86_64-ninja build and test jobs to continuous pipeline 2022-11-15 09:21:58 -05:00
Brad King 09c1b1db07 gitlab-ci: Add windows-arm64 native jobs for Ninja and VS
Add Windows ARM64 native CI jobs to build and test with Ninja,
and to test with VS.

Issue: #23624
2022-11-11 15:05:30 -05:00
Brad King 96b939584b Merge topic 'ci-msvc-14.34'
bd5176abac gitlab-ci: Update Windows packaging builds to MSVC 14.34 toolset
ccdff280f4 gitlab-ci: Update Windows non-packaging builds to MSVC 14.34 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7891
2022-11-11 08:29:11 -05:00
Brad King b0f02511e5 Merge topic 'ci-clang15-windows'
46b2849550 ci: Update LLVM/Clang to 15.0 in nightly CI jobs on Windows
3eb94e4d51 ci: Simplify LLVM/Clang CI job specs on Windows
8ba5835c8d ci: Factor out helper to load clang into environment on Windows
bf2e4a2e85 ci: Factor out helper to load ninja into environment on Windows
93ff726114 Tests: Fix TryCompile bad source case for clang-cl 15 on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7897
2022-11-11 08:26:32 -05:00
Brad King bd5176abac gitlab-ci: Update Windows packaging builds to MSVC 14.34 toolset
Problems with `cmake-gui` when compiled with the MSVC 14.33 toolset,
that did not occur with the MSVC 14.32 toolset, no longer occur with the
MSVC 14.34 toolset.  Revert commit cb8b27a901 (gitlab-ci: Use separate
MSVC toolset specification for packaging jobs, 2022-08-18, v3.24.2~24^2~1)
and update the remaining toolset version references.

Fixes: #23859
2022-11-10 13:27:38 -05:00
Brad King 46b2849550 ci: Update LLVM/Clang to 15.0 in nightly CI jobs on Windows 2022-11-10 13:24:57 -05:00
Brad King 3eb94e4d51 ci: Simplify LLVM/Clang CI job specs on Windows
Move environment setup to job-specific scripts so we can reuse
the common `.cmake_test_windows_external` code path.
2022-11-10 13:24:51 -05:00
Brad King 3624295c9b ci: add MSYS Makefiles nightly CI job
Use the MinGW/MSYS 1.0 distribution from `mingw.osdn.io`.
2022-11-02 17:17:02 -04:00
Brad King 01c58daec7 ci: add MinGW Makefiles nightly CI job
Use the MinGW/MSYS 1.0 distribution from `mingw.osdn.io`.
2022-11-02 17:16:46 -04:00
Brad King f391c1c269 gitlab-ci: add jobs testing Intel 2022.2.0 compilers on Linux
Note that the classic compiler version is 2021.7.0, but we still
have it in the 2022.2.0 base image.
2022-10-03 17:51:17 -04:00
Brad King b9dd9b09a2 Merge topic 'ci-msvc-14.33'
b87645b6a5 gitlab-ci: Update non-packaging Windows builds to MSVC 14.33 toolset
cb8b27a901 gitlab-ci: Use separate MSVC toolset specification for packaging jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7597
2022-08-22 09:46:29 -04:00
Brad King cb8b27a901 gitlab-ci: Use separate MSVC toolset specification for packaging jobs
This will be useful for testing CMake with one version of MSVC
while packaging the official binaries with another version.

Issue: #23859
2022-08-19 07:30:42 -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 d94e09ec88 Merge topic 'cpp-named-module-file-sets'
07bc3b07ec gitlab-ci: test C++ modules using GCC
1b2270aa4e ci: add a Docker image to test out C++ modules with GCC
8c5a53096a Tests/RunCMake/CXXModules: add module-using examples
4151547e2f cmGlobalNinjaGenerator: use `cmModuleMapper` implementation
b43bdaff3c cmCxxModuleMapper: implement support for GCC's module map format
02d0f0e752 cmCxxModuleMapper: add source to handle module mapper contents
a046a45aad cmGlobalNinjaGenerator: add a TODO for header units
386465bf83 cmTarget: add support for C++ module fileset types
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7369
2022-06-17 11:35:12 -04:00
Ben Boeckel 07bc3b07ec gitlab-ci: test C++ modules using GCC 2022-06-16 10:28:34 -04:00
Brad King 24099112c0 gitlab-ci: Add jobs to package and upload Windows arm64 nightly binaries
Follow up commit 7a21173b0e (gitlab-ci: Add job to build Windows arm64
binaries, 2022-06-13, v3.24.0-rc1~4^2~1).  Base the package and upload
jobs on the approach from commit 4c7c66dcf5 (gitlab-ci: Add jobs to make
Windows x86_64 and i386 packages, 2022-05-19).

Issue: #21902
2022-06-14 16:13:45 -04:00
Brad King 7a21173b0e gitlab-ci: Add job to build Windows arm64 binaries
Base it on the approach from commit 4c7c66dcf5 (gitlab-ci: Add jobs to
make Windows x86_64 and i386 packages, 2022-05-19).  Leave out the
packaging and upload steps for now because they are only for the nightly
binaries, and will need a new release of CPack to pass the `arm64`
architecture to WiX.

Issue: #21902
2022-06-13 15:04:24 -04:00
Brad King 3ed06404bf gitlab-ci: add nightly job testing Ninja Multi-Config on Windows 2022-06-07 12:38:50 -04:00
Brad King e39acc2b3a gitlab-ci: add nightly job testing Ninja Multi-Config on macOS 2022-06-07 12:21:02 -04:00
Brad King 6cef17bc6e gitlab-ci: name artifacts produced by release package jobs
Name the `.zip` file that GitLab CI uses to hold the package artifacts.
Use a different name for each platform/architecture combination so that
we can download them all to a single local directory without conflicts.
2022-06-01 12:29:21 -04:00
Brad King 9eb81b2f9a Merge topic 'ci-fedora-36'
ef6a7921e5 gitlab-ci: use Fedora 36 images and environments
483ff3b903 ci: update Linux image to Fedora 36
13c5153ccd ci: make rvm version comments consistent
6c08dd972c clang-tidy: suppress `google-readability-casting` lint
17b7bbf2a0 clang-tidy: suppress new `readability-identifier-length` lint
16e6e4e7dd cmFileCommand: remove an unnecessary cast
b89c085237 clang-tidy: fix `readability-static-definition-in-anonymous-namespace` lints
c8c9d7de03 clang-tidy: fix `bugprone-exception-escape` lints
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7271
2022-05-24 10:05:33 -04:00
Ben Boeckel ef6a7921e5 gitlab-ci: use Fedora 36 images and environments 2022-05-24 09:09:45 -04:00
Brad King 4c7c66dcf5 gitlab-ci: Add jobs to make Windows x86_64 and i386 packages
Run CPack in a separate job for nightly binaries, and not at all for
release binaries.  Unlike macOS disk images (.dmg), we cannot sign the
binaries inside Windows installers (.msi) after-the-fact.  Instead,
produce enough artifacts from the build job to sign and package release
binaries manually.

Port build settings from `Utilities/Release/win/x86/Dockerfile` and its
helper scripts.
2022-05-19 15:25:55 -04:00
Brad King cb3feb1efe gitlab-ci: add jobs testing Intel 2022.1.0 compilers on Linux
Note that the classic compiler version is 2021.6.0, but we still
have it in the 2022.1.0 base image.
2022-05-16 17:29:16 -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 ed00a29cce gitlab-ci: consolidate jobs for cmake.org/cmake/help/git-{master,stage} docs 2022-04-05 16:09:55 -04:00
Brad King ffe699217c Merge topic 'ci-package-uploads'
b20a19fca1 Merge branch 'backport-3.22-ci-package-uploads' into ci-package-uploads
cb44e0d47c gitlab-ci: distinguish release and development pipeline schedules
3a9a9a3ace gitlab-ci: clarify name of package upload job template

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7142
2022-04-04 13:41:28 -04:00
Brad King b20a19fca1 Merge branch 'backport-3.22-ci-package-uploads' into ci-package-uploads 2022-04-04 13:26:19 -04:00
Brad King cb44e0d47c gitlab-ci: distinguish release and development pipeline schedules
Redefine the `CMAKE_CI_PACKAGE` pipeline schedule variable to
indicate whether it is for a development version (`dev`) or a
release version (`v[0-9]...`).  Use this to automatically turn
package upload jobs on or off without having to edit the jobs
in `.gitlab-ci.yml` for release branches.
2022-04-04 13:23:37 -04:00
Brad King 3a9a9a3ace gitlab-ci: clarify name of package upload job template
The template is used to upload both source and binary packages.
2022-04-04 13:23:35 -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 77bdcc949d gitlab-ci: run CUDA and HIP test jobs in any non-MR pipeline
Previously we only ran these in a scheduled nightly pipeline.
We should run them in pipelines on integration branches too,
particularly for the `release` branch.
2022-03-03 12:02:00 -05:00
Brad King 8c84b2e468 Merge topic 'ci-continuous'
bba3d65bb6 ci: add fedora35-ninja build and test jobs in continuous pipeline
e3519aced4 ci: configure rules to enable dependent jbos in continuous pipeline

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7034
2022-03-03 11:44:39 -05:00
Brad King bba3d65bb6 ci: add fedora35-ninja build and test jobs in continuous pipeline 2022-03-02 15:05:19 -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 2c553c56b4 Merge topic 'ci-intel-compiler'
3fe20db126 gitlab-ci: add jobs testing Intel 2022.0.2 compilers on Linux
6675fdd5c9 gitlab-ci: add jobs testing Intel 2021.4.0 compilers on Linux
ce8d471d94 gitlab-ci: add jobs testing Intel 2021.3.0 compilers on Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6962
2022-02-09 08:57:49 -05:00