Commit Graph

545 Commits

Author SHA1 Message Date
Brad King b7400800df ci: Make python available in all Windows test jobs
Activate test infrastructure that requires python.
2023-04-05 15:03:23 -04:00
Brad King 99bf8418ee ci: Update to Python 3.11.3 in Windows jobs
Use the official embedded distribution `.zip` files,
but put copies at URLs we control.
2023-04-05 15:03:14 -04:00
Brad King 967456423b ci: Factor out initial setup script for Windows external test jobs
On Linux and macOS we use the "before script" for both build and test
jobs.  On Windows we only want a subset of it, but give it a dedicated
helper for consistency.
2023-04-05 14:27:49 -04:00
Brad King 3532823dd7 ci: De-duplicate Windows test script for NMake job
Move job-specific setup to an environment script.
2023-04-05 10:47:49 -04:00
Brad King 3f1a1bad76 ci: De-duplicate Windows test script for JOM job
Move job-specific setup to an environment script.
2023-04-05 10:47:32 -04:00
Brad King e2cf20e58c ci: De-duplicate Windows test script for Borland jobs
Move job-specific setup to environment scripts.
2023-04-05 10:47:05 -04:00
Brad King 8af9a52d3e ci: De-duplicate Windows test script for MSVC v71 NMake job
Move job-specific setup to an environment script.
2023-04-05 10:46:48 -04:00
Brad King 430aa379d4 ci: De-duplicate Windows test script for OpenWatcom job
Move job-specific setup to an environment script.
2023-04-05 10:46:15 -04:00
Brad King 919de8785b ci: Patch HDF5 Fortran compiler wrappers in Fedora jobs
In Fedora's HDF5 packages for OpenMPI and MPICH, the `h5pfc` compiler
wrappers for Fortran use the wrong search path for their Fortran
modules.  Patch them locally in CI jobs until it is fixed in Fedora
upstream.
2023-03-30 15:05:39 -04:00
Brad King 1d1ee2b049 Merge topic 'ci-FindHDF5'
d38c752de2 ci: Enable FindHDF5 tests on Linux builds
28c4945a8a ci: Add HDF5 to Debian and Fedora base images
ad9e151045 Tests: Add cases covering FindHDF5 variables and imported targets
0e87e6c1a4 Tests: Add FindMPI test environment modification option
ee075a53c8 FindHDF5: Record compiler wrapper checks to configure log
72915b1068 FindHDF5: Fix compiler wrapper checks with spaces in path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8378
2023-03-30 07:22:17 -04:00
Brad King d38c752de2 ci: Enable FindHDF5 tests on Linux builds 2023-03-29 17:18:30 -04:00
Brad King 28c4945a8a ci: Add HDF5 to Debian and Fedora base images 2023-03-29 17:18:30 -04:00
Brad King 0e87e6c1a4 Tests: Add FindMPI test environment modification option
Provide a way to configure an environment specific to this test.
Avoid setting the environment globally for it in CI jobs.
2023-03-29 17:18:30 -04:00
nega f05bd762f5 ci: Enable FindOpenAL test on macOS jobs 2023-03-29 13:42:06 -04:00
Brad King be1549d950 ci: Enable C++ modules tests with LLVM/Clang 16.0 on Windows
This works only with the GNU-like front-end and the Ninja generator.
2023-03-21 09:00:03 -04:00
Brad King eb93e1ff18 ci: Update LLVM/Clang to 16.0 in nightly CI jobs on Windows 2023-03-21 09:00:03 -04:00
CheesyNacho10 e36e455b7c FindwxWidgets: Add an imported target 2023-03-08 16:39:38 -05:00
Brad King 42c84b1e2e ci: Add wxWidgets to Debian and Fedora base images 2023-03-08 16:38:33 -05:00
Brad King 617b8df7cf Merge topic 'clang-16-cxx-modules'
3fe8e33f27 Clang: Record Clang 16.0 flags for our experimental C++ modules support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !8285
2023-03-06 08:59:21 -05:00
Brad King 3fe8e33f27 Clang: Record Clang 16.0 flags for our experimental C++ modules support
LLVM/Clang 16.0 now contains official support for what CMake needs.
2023-03-03 12:44:53 -05:00
Brad King 1c1f67a77e Merge topic 'ci-package-pipeline'
7c60a2625d gitlab-ci: Optionally upload release packages to custom URL
fc8a981893 gitlab-ci: Generalize package and help upload URLs
f73649823b gitlab-ci: Stage unsigned release package artifacts in a dedicated directory
0929221ca3 gitlab-ci: Simplify Windows packaging pipeline
ce2e825306 gitlab-ci: Simplify macOS packaging jobs
05531a7c4e gitlab-ci: add pre-build and post-build steps to Windows
5ab92d8e71 gitlab-ci: add pre-build and post-build steps to macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8266
2023-03-01 09:12:53 -05:00
Brad King 7c60a2625d gitlab-ci: Optionally upload release packages to custom URL 2023-02-28 13:39:52 -05:00
Brad King fc8a981893 gitlab-ci: Generalize package and help upload URLs 2023-02-28 13:39:52 -05:00
Brad King f73649823b gitlab-ci: Stage unsigned release package artifacts in a dedicated directory
These artifacts need to be manually signed before distribution.
Move them to a dedicated `unsigned/` directory to avoid accidental
distribution without signing.
2023-02-28 13:39:52 -05:00
Brad King 0929221ca3 gitlab-ci: Simplify Windows packaging pipeline
In commit 4c7c66dcf5 (gitlab-ci: Add jobs to make Windows x86_64 and
i386 packages, 2022-05-19, v3.24.0-rc1~112^2) we used a separate Windows
packaging job in nightly packaging pipelines.  It did not run in release
pipelines, where we need to run the final packaging step manually with
signing.  Simplify nightly packaging pipelines by running `cpack` at the
end of the build job as we do for other platforms.

For release packaging pipelines, create an archive of the files needed
to build a package, and present this as the built "package" on Windows.
2023-02-28 13:39:44 -05:00
Brad King ce2e825306 gitlab-ci: Simplify macOS packaging jobs
Run cpack in a post-build step instead of duplicating the job script.
2023-02-28 10:18:31 -05:00
Brad King 05531a7c4e gitlab-ci: add pre-build and post-build steps to Windows
Apply the approach from commit 372ce5bffe (ci: add pre-build and
post-build steps to Linux, 2022-12-05, v3.26.0-rc1~225^2~1) to
build jobs on Windows.
2023-02-28 10:12:03 -05:00
Brad King 5ab92d8e71 gitlab-ci: add pre-build and post-build steps to macOS
Apply the approach from commit 372ce5bffe (ci: add pre-build and
post-build steps to Linux, 2022-12-05, v3.26.0-rc1~225^2~1) to
build jobs on macOS.
2023-02-28 10:12:03 -05:00
Brad King 3f41c0a12a Merge topic 'gitlab-issue-template'
e408157e1b gitlab: Add default issue template

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Acked-by: Marc Chevrier <marc.chevrier@gmail.com>
Merge-request: !8244
2023-02-23 16:34:53 -05:00
Brad King 68298bdfc5 Merge topic 'ci-msvc-14.35'
9da7009bfc gitlab-ci: Update Windows builds to MSVC 14.35 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8242
2023-02-23 09:01:20 -05:00
Brad King e408157e1b gitlab: Add default issue template
Populate issue descriptions by default with a note directing reporters
to other resources they should consider using first.  Make it a comment
so that the content does not actually render in the report not removed.
2023-02-22 16:44:39 -05:00
Brad King 9da7009bfc gitlab-ci: Update Windows builds to MSVC 14.35 toolset 2023-02-22 12:35:46 -05:00
Brad King 557c3934ee gitlab-ci: Add nightly jobs covering macOS universal binaries on x86_64 2023-02-21 12:25:47 -05:00
Brad King f7be10b26a Merge topic 'ci-linkcheck'
0787148785 gitlab-ci: Report sphinx logs as artifacts of its lint job
14506f49a2 Utilities/Sphinx: Configure linkcheck allowed permanent redirects
3c5b34af9d Help: Replace links with their permanent redirects
1004be159f FindCUDAToolkit: Replace broken links to NVIDIA documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8210
2023-02-17 08:54:51 -05:00
Brad King 0787148785 gitlab-ci: Report sphinx logs as artifacts of its lint job 2023-02-17 08:45:01 -05:00
Brad King f83fecded0 Merge topic 'ci-cxx-modules-clang'
65ff605e44 ci: use the latest clang-scan-deps options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8208
2023-02-16 11:20:50 -05:00
Kefu Chai 65ff605e44 ci: use the latest clang-scan-deps options
P1689 support has been merged in Clang trunk and Clang 16 branch, so we
are now able to use the finalized clang-scan-deps command line options.

See also llvm-project's clang/test/ClangScanDeps/P1689.cppm [1] for the
samples of clang-scan-deps usages.

[1] https://github.com/llvm/llvm-project/blob/6d859df46e/clang/test/ClangScanDeps/P1689.cppm

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
2023-02-15 14:40:11 -05:00
Brad King 1e35257ee1 ci: Enable FindPatch tests on Windows VS builds
The `patch` tool comes with Git for Windows, which is installed on our
Windows CI hosts as part of running their gitlab-runner.
2023-02-13 12:35:46 -05:00
Brad King 49f32b27ed Merge topic 'test-https-connections'
3350c17451 ci: Enable file(DOWNLOAD) TLS_VERIFY test case in CI jobs
17b47da3d8 Tests: Add test for file(DOWNLOAD) with TLS_VERIFY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8194
2023-02-11 06:33:20 -05:00
Brad King 3350c17451 ci: Enable file(DOWNLOAD) TLS_VERIFY test case in CI jobs 2023-02-10 12:22:00 -05:00
Brad King 61f271f6ed Merge topic 'feature/sphinx-linkcheck'
6789af36bf Help: Fix broken links found by `linkcheck`
8f4bd3bf7e ci: Check for broken links when build HTML manual

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8177
2023-02-08 11:44:57 -05:00
Alex Turbov 8f4bd3bf7e ci: Check for broken links when build HTML manual 2023-02-07 23:32:48 +04:00
Alex Turbov fc8335a17f ci: Reduce Fedora and Debian image sizes even more
Apply the approach from commit 354fdf2116 (ci: Reduce intermediate
docker layers and final image size, 2023-02-01) to more stages.

Also:

* Use cache (prefetch metadata and packages) to reduce network I/O
  and speedup image build.

* Use `tmpfs` to drop logs produced by the package manager.
2023-02-07 11:58:21 -05:00
Alex Turbov 354fdf2116 ci: Reduce intermediate docker layers and final image size
Instead of `COPY` to get tar files, execute `RUN` w/ `--mount`.
Note that this requires the docker "buildkit" feature to be enabled.
2023-02-06 10:13:06 -05:00
Ben Boeckel d5ee82104f ci: support debugging IWYU in CI
Instead of requiring setting up a mock CI environment with the official
image locally. While such docs would be handy anyways, requiring that
entire setup to get a small piece of information from a build is
unnecessary.
2023-01-30 15:25:24 -05:00
Brad King 09cb6c48e2 Merge topic 'iwyu-better-ci-logs'
bf3425c3d2 ci: add a comment to run IWYU in verbose mode
25f0b4f397 CMake: add an option to run IWYU in verbose mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8130
2023-01-30 10:19:31 -05:00
Ben Boeckel bf3425c3d2 ci: add a comment to run IWYU in verbose mode
Useful to avoid setting up the CI locally to get a single extra message.
2023-01-27 11:18:59 -05:00
hstejas 1bba218214 FindImageMagick: Define targets for specific components
- With this change we can use e.g. ImageMagick::Magick++ directly
  in targt_link_libraries.
- This change also adds CFLAGS which was missing before.
- Also adds example on how to use the targets.
2023-01-27 10:33:10 -05:00
Brad King 85f16fe913 ci: add ImageMagick to Debian and Fedora base images 2023-01-26 13:00:28 -05:00
Brad King ebd81d0e12 ci: rebase nvidia-derived docker images on tags we control
According to NVIDIA's container image support policy [1], they will
remove tags for older images over time.  In order to preserve our
ability to rebuild CI images based on them in the future, base them on
tags we control.

[1] https://gitlab.com/nvidia/container-images/cuda/blob/85fbd45b92/doc/support-policy.md
2023-01-20 13:00:19 -05:00