Commit Graph

842 Commits

Author SHA1 Message Date
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
Brad King
54dfadaf5a ci: Rename "codespell" job to more general name "spellcheck" 2025-01-22 08:51:44 -05:00
Brad King
17fc94e5e3 ci: Add typos 1.29.4 to Fedora base image 2025-01-22 08:51:44 -05:00
Brad King
ddf8220572 ci: Use Fedora 41 default flang package now that it is new enough
In commit fff8e3f6f3 (ci: Rebuild Fedora 41 image with updates,
2024-11-11, v3.31.1~20^2) we specified an exact version of the `flang`
package to update beyond the default at the time.  Revert that now that
the default is newer.
2025-01-22 08:51:44 -05:00
Brad King
b58b224e42 ci: Enable libc++ hardening in CMake build jobs on macOS
This may help catch out-of-bounds container access and similar bugs.
2025-01-21 16:00:23 -05:00
Brad King
8a38a90e2e ci: Enable assertions in CMake build jobs on macOS
We did this previously on Linux and Windows:

* commit 45feab3c00 (gitlab-ci: enable assertions on fedora34-ninja jobs,
                     2022-01-31, v3.23.0-rc1~37^2)
* commit bec34592a6 (ci: Enable assertions in CMake build job on Windows,
                     2024-12-19)

The macOS build jobs were already building the `Release` configuration
by default.  Make it explicit to be sure we use these flags.
2025-01-21 16:00:23 -05:00
Brad King
2481de0353 ci: Record expected C and CXX language standard support for NVHPC
Extend commit 31acc90abe (ci: Record expected C and CXX language
standard support, 2024-04-02, v3.30.0-rc1~279^2) to cover the NVHPC job.
2025-01-15 13:49:23 -05:00
Brad King
569221f40f ci: Update NVHPC to version 24.9
Fixes: #24187
2025-01-15 13:49:18 -05:00
Brad King
72e27a4856 Merge topic 'fix-typos-found-by-pre-commit-hooks'
d620d77d26 FindDoxygen: Rename `_Doxygen_dne_header` -> `_Doxygen_do_not_edit_header`
e7ff3cccea PushToAndroidDevice.cmake: Rename `cmake_parse_arguments` prefix
bc8621d999 Fix: A lot of typos in code found by `typos`
b33beb7af5 Help: Fix some typos found by `sphinx-lint`
78e45c2db6 Style: Replace TABs with spaces for indentation in some files
74e0173f66 Tests(NuGet): Fix the test to ignore empty and space-only lines

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10151
2025-01-14 09:44:34 -05:00
Alex Turbov
bc8621d999
Fix: A lot of typos in code found by typos
Yet another great code spellchecker: https://github.com/crate-ci/typos/

(Will be added later as a `pre-commit` hook)
2025-01-12 18:49:34 +04:00
Ben Boeckel
2a0ca6a26d ci: add jobs to test GCC 15-to-be with import std 2025-01-08 16:32:14 -05:00
Brad King
bec34592a6 ci: Enable assertions in CMake build job on Windows
Since commit 5b564c371e (gitlab-ci: add Windows infrastructure,
2020-05-20, v3.18.0-rc1~102^2~1) we build with the `Release`
configuration on Windows to avoid the `-Zi` flag.  However, that also
compiles with `-DNDEBUG` by default, thus suppressing assertions.
Since the build is meant for testing, enable assertions again.
2024-12-19 11:38:03 -05:00
Brad King
1f3eb6c4d4 ci: update copyright year as part of CMake Nightly Date Stamp
Extend commit 0f82d07266 (ci: add job to update CMake Nightly Date
Stamp, 2024-12-17) to update the year range in `Copyright.txt` on
January 1 so we don't have to update it manually once per year.
Our `CMake.Copyright` test verifies that these match.
2024-12-18 09:04:14 -05:00
Brad King
306444e67c Merge topic 'ci-xcode-16.2'
86ee7cb4fe ci: update macOS jobs to use Xcode 16.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10107
2024-12-18 08:40:23 -05:00
Brad King
0f82d07266 ci: add job to update CMake Nightly Date Stamp
Previously the nightly version update was performed by an
externally-managed scheduled task.  Move it to CI.
2024-12-17 14:48:08 -05:00
Brad King
86ee7cb4fe ci: update macOS jobs to use Xcode 16.2 2024-12-17 10:57:22 -05:00
Brad King
4de5ef45f0 ci: Enable Swift tests in Ninja Multi-Config job on Windows 2024-12-09 13:43:28 -05:00
Brad King
055e17054f Merge topic 'ci-fedora-41'
ec682ff22a ci: Update to ROCm 6 HIP on Fedora 41

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10069
2024-12-05 08:07:56 -05:00
Brad King
ec682ff22a ci: Update to ROCm 6 HIP on Fedora 41
The problem that motivated commit 3a44b8dfc0 (ci: Move job for HIP tests
on Fedora 39 to a dedicated base image, 2024-04-24, v3.30.0-rc1~202^2~11)
turns out to be exposed by spaces in the path to HIP binaries.  Move the
CI work directory to a path without spaces.

Closes: #25932
2024-12-04 12:35:01 -05:00