Commit Graph

860 Commits

Author SHA1 Message Date
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
Alex Turbov
4b0ac15b49 ci(fedora41): use CMake to build and install IWYU
… instead of calling underlaid buildsystem tool. Also, add parallelization.
2025-02-03 11:05:46 -05:00
Alex Turbov
1edede9276 ci(fedora41): move Perforce download to a separate image
It improves parallelization and speeds up the build.
Since downloading is a quick task, put the results to the final image
at the beginning to avoid waiting for other (longer) tasks.
2025-02-03 11:05:45 -05:00
Alex Turbov
8946e0a3ba ci(fedora41): drop unused cache mount 2025-02-03 11:05:44 -05:00
Alex Turbov
d2c34c95d9 ci(fedora41): restore the path to dnf cache
So, images would really use it again!
This reduce build time up to 25%!

This was accidentally broken by commit 46d89b8524 (ci: update Linux
image to Fedora 41, 2024-10-23, v3.31.0-rc3~7^2~2) by misdiagnosing an
error.
2025-02-03 11:05:42 -05:00
Alex Turbov
5eb8f47b67 ci(fedora41): use dnf.conf for options and simplify dnf install CLI 2025-02-03 11:05:40 -05:00
Alex Turbov
b5a36e1efc ci(fedora41): sort dependency lists 2025-02-03 11:05:38 -05:00
Alex Turbov
31f0e8dd92 ci(fedora41): remove duplicate dependency package 2025-02-03 11:05:24 -05:00
Brad King
7f1250ca68 ci: Drop redundant job testing cuda12.2 with nvcc -ccbin=clang++-18
It has been superseded by an equivalent job with cuda12.6,
which does not need `--allow-unsupported-compiler`.
2025-01-30 12:00:33 -05:00
Brad King
1ffa199c55 ci: add jobs testing cuda12.6 with nvcc and clang 18 2025-01-30 09:34:41 -05:00
Brad King
07ddceea84 ci: add cuda12.6 base image 2025-01-30 09:31:09 -05:00
Brad King
377707d271 Merge topic 'rbenv_support'
ef2c3ca828 FindRuby: Add rbenv support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10100
2025-01-29 11:31:09 -05:00
Brad King
8bbb8fd8b6 Merge topic 'ci-cmake-update'
64e4f036d5 ci: Update CMake version to 3.31.5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10252
2025-01-29 11:27:41 -05:00
Brad King
64e4f036d5 ci: Update CMake version to 3.31.5 2025-01-28 10:35:14 -05:00
cfis
ef2c3ca828 FindRuby: Add rbenv support 2025-01-27 20:36:06 -05:00
Alex Turbov
d2752135cb codespell: Fix typos found by version 2.4 2025-01-27 10:55:58 -05:00
Brad King
482b7c358b ci: Add rbenv to Debian and Fedora base images 2025-01-23 14:40:40 -05:00
Brad King
63924c4afa Merge topic 'ci-typos'
c3777c1536 ci: Extend spellcheck job with 'typos' tool
d11552c2d9 codespell: Exclude paths by patterns following pre-commit check conventions
11d0a631d4 codespell: Split multi-valued configuration across multiple lines
54dfadaf5a ci: Rename "codespell" job to more general name "spellcheck"
17fc94e5e3 ci: Add typos 1.29.4 to Fedora base image
ddf8220572 ci: Use Fedora 41 default flang package now that it is new enough
1e2d19ea4f gitignore: Tell tools honoring .gitignore to ignore .git too
0d0a94bcfb Tests: Fix Fortran syntax for initialized variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10211
2025-01-23 09:34:02 -05:00
Brad King
737e9f0647 ci: Update to IAR bxarm 9.60.3
Run `.gitlab/ci/repackage/iar.ps1` with the installer and host the
package archives ourselves.
2025-01-22 14:15:11 -05:00
Alex Turbov
c3777c1536 ci: Extend spellcheck job with 'typos' tool
Unlike the `codespell`, `typos` is capable of finding typos
in combined identifiers (`CamelCase` or `snake_case`).
2025-01-22 08:51:45 -05:00
Brad King
d11552c2d9 codespell: Exclude paths by patterns following pre-commit check conventions
In order to share `.codespellrc` between our CI checks and `pre-commit`
checks, we need to match paths without the leading `./`.  Convert to a
`bash` script so we can use `dotglob` to pass paths explicitly.

Unfortunately this means we can no longer run `codespell` manually with
no arguments.  Instead we can run `.gitlab/ci/codespell.bash`.
2025-01-22 08:51:45 -05:00