Commit Graph

827 Commits

Author SHA1 Message Date
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
Brad King
cc626365ca ci: Add VS 2022 nightly job in path with international characters
Test that VS generators encode paths correctly.
2024-11-29 10:39:42 -05:00
Brad King
c99002c289 ci: update macOS jobs to use Xcode 16.1 2024-11-15 10:10:28 -05:00
Brad King
41150f5c3d ci: Update Windows builds to MSVC 14.42 toolset 2024-11-14 11:22:57 -05:00
Brad King
fff8e3f6f3 ci: Rebuild Fedora 41 image with updates
In particular, get:

* flang-19.1.0-2.fc41 to restore OpenMP support
* IWYU 0.23 for LLVM/Clang 19 support
2024-11-11 14:35:00 -05:00
Brad King
4002b6c60a Merge topic 'ci-vcvarsall-fix' into release-3.31
c1ddff67f2 ci: use JSON to transfer environment variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9963
2024-11-01 09:09:51 -04:00
Ben Boeckel
70fd49f0cf Merge branch 'ci-use-only-needs-3.30' into ci-use-only-needs
* ci-use-only-needs-3.30:
  gitlab-ci: remove `dependencies` from jobs
2024-10-31 14:08:26 -04:00
Ben Boeckel
ea31d090c7 gitlab-ci: remove dependencies from jobs
Historically, `needs` specifies the jobs which need to complete
successfully and `dependencies` specifies the jobs which provide
artifacts which should be used. Modern GitLab discourages using both as
`needs` now supports an `artifacts` key to say "depend on but do not use
artifacts", so remove `dependencies` and use `needs:artifacts` where
necessary.

See: https://docs.gitlab.com/ee/ci/yaml/#needsartifacts
2024-10-31 14:07:32 -04:00
Ben Boeckel
c1ddff67f2 ci: use JSON to transfer environment variables
The `set` command in `cmd` has terrible properties in that there's no
real structure to it. Sensitive sequences in values or variable names
that are escaping sequences can be interpreted at the wrong time or
things like newlines in values are not escaped at all and cause
ambiguities in parsing. Avoid all of that and use PowerShell to use JSON
as a communication mechanism.
2024-10-31 08:52:52 -04:00
Brad King
566b07bbf7 ci: Restore cmake.org html documentation search results for index entries
Sphinx 7.3 fixes the problem motivating commit fbed0431c2 (ci: Suppress
cmake.org html documentation search results for index entries,
2023-08-09, v3.27.2~2^2).  Revert the workaround.

Fixes: #25175
2024-10-26 06:01:10 -04:00
Brad King
c8591c61d8 ci: use Fedora 41 images and environments 2024-10-26 06:01:10 -04:00
Brad King
46d89b8524 ci: update Linux image to Fedora 41 2024-10-26 06:01:10 -04:00
Brad King
e6da61fcd9 ci: Run Fedora + Makefiles job on x86_64-v3 hosts for mpich+libfabric
Similar to commit 18145e8745 (ci: Update FindMPI test environment for
mpich on Fedora 39, 2023-11-16, v3.28.0-rc6~19^2~1), libfabric fails
with SIGILL on older hardware.
2024-10-26 06:01:10 -04:00
Brad King
19d81b357c ci: Host our own URL to test expected TLS_VERSION failure
Avoid unnecessary load on an external resource.
2024-10-21 16:54:46 -04:00
Brad King
2a8d7e76ef ci: Update ctest scripts with policies through CMake 3.29
Since commit 84db8506ff (Deprecate compatibility with CMake versions
older than 3.10, 2024-10-03) some of the scripts warned when executed
with a `ctest` built earlier in the pipeline.
2024-10-08 10:32:06 -04:00
Brad King
a4b60d948d FindOpenMP: Add support for CUDA when compiling with Clang 2024-10-07 14:19:08 -04:00