Commit Graph

880 Commits

Author SHA1 Message Date
Brad King
ce6b0f9e10 ci: Drop unused build artifact
KWSys no longer has a `testConsoleBufChild.exe`.
2025-05-14 09:05:21 -04:00
Ben Boeckel
5750fcd7b4 ci: enable import_std23 module compilation with clang
This is a stock Fedora 42 which uses a `clang` built with `libstdc++` as
the default stdlib.
2025-04-30 17:14:58 +02:00
Brad King
36d96ce044 ci: Drop outdated HDF5 Fortran compiler wrapper patch from Fedora jobs
Drop the patch step from commit 919de8785b (ci: Patch HDF5 Fortran
compiler wrappers in Fedora jobs, 2023-03-30, v3.27.0-rc1~242^2~1).
Fedora 42's HDF5 packages fixed the problem.
2025-04-25 08:33:35 -04:00
Brad King
5b21de16a0 ci: use Fedora 42 images and environments 2025-04-25 08:33:35 -04:00
Brad King
efa818f661 ci: update Fedora base images to Fedora 42 2025-04-25 08:33:35 -04:00
Brad King
585e1655c2 ci: Update cppdap in extdeps jobs
Match the version from commit 5098a08fde (cppdap: Update script to get
version as of 2024-08-02, 2024-08-13, v3.31.0-rc1~232^2~1).
2025-04-25 08:33:35 -04:00
Brad King
01d0f037b6 ci: Remove superuser tools from PATH in Linux jobs
Our Linux CI jobs incidentally run as `root` in their containers, but
do not need any superuser tools.  Drop `sbin` entries from the `PATH`.
This also avoids finding user tools through Fedora 42's `sbin -> bin`
symbolic links.
2025-04-25 08:33:30 -04:00
Brad King
47f49e7b9c Merge topic 'ci-cuda'
dfe3b98387 Merge branch 'backport-ci-cuda' into ci-cuda
72e7636540 ci: add tags to tie CUDA jobs to runners with hardware supporting them
1395c1e19a ci: Tell CudaOnly.Architecture test what specific architecture to use
4f2178c4a8 ci: add tags to tie CUDA jobs to runners with hardware supporting them
63a5460faf ci: Tell CudaOnly.Architecture test what specific architecture to use

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10691
2025-04-22 09:22:20 -04:00
Brad King
72e7636540 ci: add tags to tie CUDA jobs to runners with hardware supporting them
CUDA 12.8 deprecated support for compute architectures below 75.
Presumably support will be removed from a future version of the
CUDA Toolkit.  Jobs using such a future version of CUDA will not
be able to compile support for CUDA architectures below 75, so
they will not be able to run on older hardware.  In preparation,
our CI runners now have `cuda-arch-#` tags for the architectures
they support.  Jobs may then be tagged with the minimum architecture
on which they can run.

Tag each job with the highest of the following requirements:

* Most of CMake's tests use the CUDA compiler's default architecture,
  which is based on the version the CUDA toolkit.

* For Clang we currently select architecture 52 if supported by the
  CUDA toolkit, even if that toolkit's NVCC defaults to an older arch.

* The `CudaOnly.Architecture` test uses a specific architecture
  configured by each CI job.
2025-04-21 18:25:49 -04:00
Brad King
1395c1e19a ci: Tell CudaOnly.Architecture test what specific architecture to use
CUDA 12.8 deprecates architectures below 75.  Presumably a future
version will remove it.  Prepare infrastructure to avoid relying on
hard-coded arch 52 in this test.
2025-04-21 18:24:41 -04:00
Brad King
f80de64581 ci: add tags to tie HIP jobs to runners with matching hardware
This is necessary to add CI runners with newer AMD GPUs over time.
2025-04-11 14:40:31 -04:00
Brad King
19f7e1f98d Merge topic 'ci-iar'
f3fe3a7cd3 ci: Update to IAR bxarm 9.60.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10632
2025-04-10 08:32:57 -04:00
Brad King
180fc85666 Merge topic 'FindXCTest-xcode-16'
2e59cee922 FindXCTest: Fix test module generation for Xcode 16
c653c1aa47 FindXCTest: Pass -bundle_loader linker flag for test module more reliably

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10573
2025-04-10 08:27:40 -04:00
Brad King
3c08fa2b0d Merge topic 'FindXCTest-xcode-16' into release-4.0
2e59cee922 FindXCTest: Fix test module generation for Xcode 16
c653c1aa47 FindXCTest: Pass -bundle_loader linker flag for test module more reliably

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10573
2025-04-10 08:27:38 -04:00
Brad King
2e59cee922 FindXCTest: Fix test module generation for Xcode 16
In Xcode 7.3 and above, the `TEST_HOST` setting causes Xcode to
implicitly place the test module inside the executable bundle regardless
of the module's own location settings.  Since commit a364d2513a (Xcode:
Fixup XCTest bundle location for Xcode 7.3, 2016-03-25, v3.5.2~6^2) we
explicitly tell CMake to put the test module in the same location so
that generator expressions used by `xctest_add_test` agree with where
Xcode actually puts it.  In Xcode 16 and above, our explicit location
settings for the test module conflict with Xcode's `TEST_HOST` rules,
causing errors about multiple commands producing the same path.

Fix this by dropping CMake's explicit location for the test module
unless needed to match a project-specified location for the testee.
Instead, teach `xctest_add_test` to express the xctest module location
selected by `TEST_HOST` by using generator expressions referencing the
testee bundle.

Fixes: #26301
Fixes: #26514
2025-04-09 17:06:13 -04:00
Brad King
f3fe3a7cd3 ci: Update to IAR bxarm 9.60.4
Run `.gitlab/ci/repackage/iar.ps1` with the installer and host the
package archives ourselves.
2025-04-09 09:30:49 -04:00
Brad King
48235b3257 Merge topic 'ci-xcode-16.3'
3b4adc2043 ci: update macOS jobs to use Xcode 16.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10575
2025-04-02 10:14:22 -04:00
Brad King
3b4adc2043 ci: update macOS jobs to use Xcode 16.3 2025-04-01 13:10:32 -04:00
Peter Kokot
dd2edc3497 FindASPELL: Add components and imported targets
Components are added in a backward-compatible way:

* ASPELL component - adds the ASPELL::ASPELL imported target
* Executable component - adds the ASPELL::Executable imported target

If components are not specified in find_package() call, module, by
default, searches for both components and provides backward
compatibility with the find_package(ASPELL) usage via ASPELL_LIBRARIES,
ASPELL_INCLUDE_DIR, and ASPELL_EXECUTABLE variables.

The ASPELL_DEFINITIONS variable description removed from the
documentation as it was never defined by this module.

Additionally added a Pspell interface check (pspell.h header file) if
Aspell library provides it. It is checked separately because it might
be located in a subdirectory of pspell/pspell.h and code includes it as
`<pspell.h>`. Some distributions package pspell.h as part of the
libpspell development package and install also libaspell development
package as a dependency for BC.

Added also ASPELL_VERSION variable in case aspell executable can
determine it.

Issue: #26811
2025-04-01 05:25:25 +02:00
Brad King
1056f0b166 ci: Add aspell to Debian and Fedora base images 2025-03-31 15:41:05 -04:00
Brad King
1f46bc299b ci: Extend packaging pipeline to sign Windows binaries automatically
Split packaging on Windows into dedicated jobs that run with access to
an EV signing certificate.

Prior to commit 0929221ca3 (gitlab-ci: Simplify Windows packaging
pipeline, 2023-02-28, v3.26.0-rc5~3^2~3) we had separate packaging jobs,
but they did not run in release packaging pipelines.  Restore them, and
run them in both nightly and release packaging pipelines.
2025-03-19 11:22:30 -04:00
Brad King
05e0e6e7bf Merge topic 'ci-test-apple-silicon'
a44a2d2579 ci: Explicitly enable or disable RunCMake.AppleSilicon test in macos jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10454
2025-03-11 09:27:23 -04:00
Brad King
a44a2d2579 ci: Explicitly enable or disable RunCMake.AppleSilicon test in macos jobs
Enable it on `macos-arm64` jobs and disable it on `macos-x86_64` jobs.
Since the default detection pierces Rosetta, it cannot be used in CI
where we might build and test on different hosts.
2025-03-10 17:02:33 -04:00
Brad King
fce3d54740 Merge topic 'license-rst'
cbc54536b7 ci: Forward our dedicated license file to CPack packaging steps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10426
2025-03-05 09:08:14 -05:00
Brad King
cbc54536b7 ci: Forward our dedicated license file to CPack packaging steps
This was missed in commit a9190bd38d (CMake: Prepare dedicated license
file for our own CPack configuration, 2025-03-02).
2025-03-05 09:01:37 -05:00
Brad King
67b6964efa Merge branch 'backport-license-rst' (early part) into license-rst 2025-03-03 10:42:50 -05:00
Brad King
2d42a5444f LICENSE: Rename Copyright.txt to LICENSE.rst
The name `LICENSE` is now more conventional.
Format as reStructuredText to improve rendering.
2025-03-03 09:55:56 -05:00
Brad King
7f850fba3c Merge topic 'rel-sunos'
5dd973f900 ci: Convert sunos packaging jobs to build sunos-{x86_64,sparc64} binaries
fd1907e50e Utilities/Release: Convert base images to build sunos-{x86_64,sparc64}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10401
2025-02-28 11:09:49 -05:00
Brad King
5dd973f900 ci: Convert sunos packaging jobs to build sunos-{x86_64,sparc64} binaries 2025-02-27 16:35:09 -05:00
Brad King
11821a386d Merge topic 'nvpl'
9ead7c2129 FindBLAS: Add support for NVPL
dbbfec8712 Tests/Find{BLAS,LAPACK}: Comment purpose of integer size fallback
6ce494ed6d ci: Add NVPL to Debian aarch64 base image

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10374
2025-02-27 09:36:03 -05:00
Vito Gamberini
9ead7c2129 FindBLAS: Add support for NVPL 2025-02-26 13:29:03 -05:00
Brad King
6ce494ed6d ci: Add NVPL to Debian aarch64 base image 2025-02-24 19:24:23 -05:00
Alexandru Croitor
245f5ca8b3 Tests: Make CMakeGUI test build with both Qt5 and Qt6
Fixes: #26710
2025-02-21 14:41:12 -05:00
Brad King
5afbc739dc ci: Specify Qt version separately for each Fedora build
Currently all builds use Qt 5.  Prepare to switch some to Qt 6.
2025-02-21 14:41:12 -05:00
Brad King
28f1da4b25 ci: Add jobs to build sunos-{i386,sparc} binaries 2025-02-15 07:28:07 -05:00
Brad King
dc88b35233 Merge topic 'ci-use-typos-for-commit-message-check' into release-4.0
4558c8f9ff ci: Use `typos` to check commit messages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10314
2025-02-15 07:22:45 -05:00
Brad King
bc94c018c4 ci: Update HIP image to ROCm 6.3 on Ubuntu 24.04
The problem described in commit ec682ff22a (ci: Update to ROCm 6 HIP on
Fedora 41, 2024-12-02, v3.31.2~3^2) occurs here too.  Move the CI work
directory to a path without spaces.

Issue: #25932
2025-02-14 16:17:45 -05:00
Alex Turbov
4558c8f9ff ci: Use typos to check commit messages
Commit messages in the CMake repo may have Git hashes that can trigger
false positives in the `typos` checker.

Revert commit ddebf4653d (ci: Do not check commit messages with 'typos'
due to false positives, 2025-02-07).  Instead, copy the top-level config
file to a temporary location, add a configuration option to mark
10-hex-digit identifiers as always valid, and pass it to `typos` at the
commit checking phase.
2025-02-14 10:10:12 -05:00
Brad King
10da186af0 Merge topic 'ci-msvc-14.43' into release-4.0
8353a88661 ci: Update Windows builds to MSVC 14.43 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10336
2025-02-13 09:28:30 -05:00
Brad King
8353a88661 ci: Update Windows builds to MSVC 14.43 toolset 2025-02-12 11:05:51 -05:00
Brad King
ddebf4653d ci: Do not check commit messages with 'typos' due to false positives
Since commit c3777c1536 (ci: Extend spellcheck job with 'typos' tool,
2025-01-04) we check spelling with `typos` in addition to the
pre-existing check with `codespell`.  Unlike `codespell`, `typos` can
find typos in combined identifiers, e.g., `PascalCase` or `snake_case`.
That works well for code, but in commit messages it can trigger on
"words" in the middle of commit hashes.
2025-02-07 10:04:18 -05:00
Brad King
f398a517be ci: Update to rebuilt Fedora base images 2025-02-03 12:03:07 -05:00
Alex Turbov
72cce810ce ci(fedora41-hip): update the image in sync w/ fedora41
- Use the correct path for the DNF cache.
- There is not much sense in having a DNF cache image separately when
  the only `RUN` command is to install required packages.
2025-02-03 11:05:58 -05:00
Alex Turbov
fa08bd803d ci(fedora41): refactor tests removal from Python packages 2025-02-03 11:05:57 -05:00
Alex Turbov
0e5159656a ci(fedora41): split install prerequisites and build for Rust packages 2025-02-03 11:05:55 -05:00
Alex Turbov
88c5cf809a ci(fedora41): split install prerequisites and build RBEnv into separate phases
It improves parallelization and speeds up the build by reusing cached layers.
2025-02-03 11:05:54 -05:00
Alex Turbov
86e96322eb ci(fedora41): tune RVM build to speedup and minimize the final image
- Do not waste time looking for pre-built images for Fedora.
  Tell to `rvm` to always build from sources.

- No need to update startup files (in the intermediate image).

- Exclude useless (documentation) files from the final archive.
2025-02-03 11:05:52 -05:00
Alex Turbov
264c902403 ci(fedora41): split install prerequisites and build RVM into separate phases
It improves parallelization and speeds up the build by reusing cached layers.
2025-02-03 11:05:51 -05:00
Alex Turbov
59383f6509 ci(fedora41): use cache for IWYU build 2025-02-03 11:05:49 -05:00
Alex Turbov
dc9b7a15c0 ci(fedora41): split install prerequisites and build IWYU into separate phases
It improves parallelization and speeds up the build by reusing cached layers.
2025-02-03 11:05:48 -05:00