Commit Graph

285 Commits

Author SHA1 Message Date
Brad King
7299be0765 Merge topic 'ci-swift-5.7'
48ea2ce504 ci: Update debian10-ninja job to use Swift 5.7.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7860
2022-11-03 08:19:04 -04:00
Brad King
3624295c9b ci: add MSYS Makefiles nightly CI job
Use the MinGW/MSYS 1.0 distribution from `mingw.osdn.io`.
2022-11-02 17:17:02 -04:00
Brad King
01c58daec7 ci: add MinGW Makefiles nightly CI job
Use the MinGW/MSYS 1.0 distribution from `mingw.osdn.io`.
2022-11-02 17:16:46 -04:00
Brad King
48ea2ce504 ci: Update debian10-ninja job to use Swift 5.7.1 2022-11-02 13:28:52 -04:00
Kyle Edwards
18d2bd71af clang-tidy module: build as release, output on test failure
Build the module with -DCMAKE_BUILD_TYPE=Release, and run ctest
with --output-on-failure.
2022-10-26 18:13:13 -04:00
Kyle Edwards
0a2093d0c5 clang-tidy module: add test framework 2022-10-14 11:09:38 -04:00
Igor-Mikhail-Valentin Glebov
d6f5e67f7b ci: add clang-tidy plugin to clang-tidy job 2022-10-12 13:39:30 -04:00
Kyle Edwards
c239e7c259 ci: add include-what-you-use to Fedora base image 2022-10-04 13:30:52 -04:00
Brad King
9c8c965435 ci: Revert "add clang-tidy to Debian x86_64 base image"
Revert commit 0ac9ec47f6 (ci: add clang-tidy to Debian x86_64 base
image, 2022-09-20).  Our clang-tidy job runs under Fedora, and we need
the plugin to compile there anyway, so lints like IWYU will best be done
in the Fedora image.

Issue: #23912
2022-09-29 11:19:42 -04:00
Kyle Edwards
0ac9ec47f6 ci: add clang-tidy to Debian x86_64 base image
Issue: #23912
2022-09-22 11:44:59 -04:00
Brad King
94b27ccc36 ci: add support for gitlab-runner 'shell = pwsh' executor
Run powershell child scripts using the same powershell tool as the
parent script.
2022-09-12 12:47:42 -04:00
Brad King
906b1a0bc4 ci: allow powershell variables assigned in env scripts to persist
Load env scripts with `.` sourcing instead of `Invoke-Expression`.
This allows powershell variables to persist, much like bash.

Leave helper script loading unchanged, as those scripts may set
powershell variables that we do not want to persist.
2022-09-12 12:42:25 -04:00
Kyle Edwards
703f39354e ci: add clang-tidy development headers to Fedora base image
Prepare to build our own clang-tidy plugin in CI.
2022-08-31 15:07:20 -04:00
Dawid Wróbel
e706da5f7e FindOpenSP: Add module to find the OpenSP library
OpenSP has not seen a release in seventeen years, so is unlikely to ever
provide a CMake package configuration file.  Add a find module instead.
2022-08-30 13:55:07 -04:00
Brad King
4bcdf1b992 ci: add OpenSP to Debian and Fedora base images 2022-08-30 12:46:03 -04:00
Brad King
3490d7a9fc ci: Enable MSVC C++ module support tests
Since commit b87645b6a5 (gitlab-ci: Update non-packaging Windows builds
to MSVC 14.33 toolset, 2022-08-18), the version of MSVC used in CI test
jobs supports the `cl -scanDependencies` functionality we need to
support C++ modules.  Enable the corresponding tests.
2022-08-22 16:50:51 -04:00
Brad King
fbef4c6ced Merge topic 'ci-linux-extdeps'
b55152e7ad gitlab-ci: add jobs to test CMake with external dependencies on Linux
6a05d107ca ci: add CMake external build dependencies to Debian and Fedora base images
d3c1b8a491 jsoncpp: Require version 1.6.0 when using system-provided library
68d3ca7008 Tests: Fix RunCMake.FileAPI test with jsoncpp < 1.7.5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7592
2022-08-19 07:20:18 -04:00
Brad King
dc4c0e29a4 Merge topic 'ci-cmake-update'
05a1464689 ci: use CMake 3.24.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7590
2022-08-19 07:17:34 -04:00
Brad King
b55152e7ad gitlab-ci: add jobs to test CMake with external dependencies on Linux
Test that CMake works without its bundled dependencies.
For some dependencies, test using the minimum supported version.
2022-08-18 15:49:08 -04:00
Brad King
6a05d107ca ci: add CMake external build dependencies to Debian and Fedora base images 2022-08-18 15:49:08 -04:00
Brad King
05a1464689 ci: use CMake 3.24.1 2022-08-18 10:01:20 -04:00
Brad King
e2112b3778 Merge topic 'cpp-named-module-support-msvc'
4f95e6b284 ci: test BMI exporting and installation with GCC in CI
c49d5f137b RunCMake/CXXModules: add a "deep-chain" test
297e0f4dce cmCxxModuleMapper: support MSVC module map format
b3c2880cb2 cmCxxModuleMapper: track transitive modules for MSVC
a43713d615 CTestCustom: ignore `cm::optional` uninitialized memory false positive
b90de0b492 RunCMake/CXXModules: support MSVC extensions
a84c186a7d cmScanDepFormat: support the MSVC 17.3 toolchain temporarily
d7f5064ff7 cmScanDepFormat: support P1689R5
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7481
2022-08-03 09:45:15 -04:00
Brad King
734c2f8944 Merge topic 'ci-wix-host'
9ff7fffbf4 ci: host WiX 3.14.0.6526 binaries ourselves

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7538
2022-08-03 09:37:55 -04:00
Brad King
9ff7fffbf4 ci: host WiX 3.14.0.6526 binaries ourselves
Since commit 06c6e76a12 (ci: update to WiX 3.14.0.6526, 2022-06-10,
v3.24.0-rc1~4^2~2) we download the WiX binaries from `wixtoolset.org`
instead of a `github.com` CDN.  Avoid hitting their organization site
on every CI job by hosting the binaries at `cmake.org`.
2022-08-02 14:38:22 -04:00
Ben Boeckel
4f95e6b284 ci: test BMI exporting and installation with GCC in CI 2022-08-02 10:53:38 -04:00
Brad King
71a6982e91 Merge topic 'gcc-modules-ci-missing-git'
5db79b5cd3 gitlab-ci: update to an image with git installed
3e1ace7f46 ci: add git to the CI image

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7398
2022-06-23 09:37:40 -04:00
Brad King
91e3f2e088 ci: Enable FindOpenAL test on Linux builds 2022-06-22 09:16:26 -04:00
Brad King
2f3ea66a76 Merge topic 'ci-openal'
b97d371007 ci: Add OpenAL to Debian and Fedora base images

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7394
2022-06-22 08:46:31 -04:00
Ben Boeckel
3e1ace7f46 ci: add git to the CI image
This allows the CDash submission to know what commit is being submitted
and show up in MR pipeline status links made by our workflow processes.
2022-06-21 14:17:59 -04:00
Brad King
b97d371007 ci: Add OpenAL to Debian and Fedora base images 2022-06-21 12:27:58 -04:00
Brad King
32604113b6 Merge topic 'ci-rel-win-arm64'
41ea4d4de8 ci: Rebuild Qt 6.3.0 windows-arm64 dependency with LLVM/Clang
e0d9ee0cc4 Utilities/Release: Simplify script to build Qt 6.3.0 Windows binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7380
2022-06-20 09:57:23 -04:00
Brad King
d94e09ec88 Merge topic 'cpp-named-module-file-sets'
07bc3b07ec gitlab-ci: test C++ modules using GCC
1b2270aa4e ci: add a Docker image to test out C++ modules with GCC
8c5a53096a Tests/RunCMake/CXXModules: add module-using examples
4151547e2f cmGlobalNinjaGenerator: use `cmModuleMapper` implementation
b43bdaff3c cmCxxModuleMapper: implement support for GCC's module map format
02d0f0e752 cmCxxModuleMapper: add source to handle module mapper contents
a046a45aad cmGlobalNinjaGenerator: add a TODO for header units
386465bf83 cmTarget: add support for C++ module fileset types
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7369
2022-06-17 11:35:12 -04:00
Brad King
41ea4d4de8 ci: Rebuild Qt 6.3.0 windows-arm64 dependency with LLVM/Clang
In commit 7a21173b0e (gitlab-ci: Add job to build Windows arm64
binaries, 2022-06-13, v3.24.0-rc1~4^2~1) we built the Qt binaries using
the MSVC 14.32 toolset targeting arm64.  However, the `cmake-gui` built
with them does not start, perhaps due to a bug in MSVC's ARM64 support.
Run the `Utilities/Release/win/qtbase-6.3.0-win-msvc.cmake` script for
`i386` and `x86_64`.  Run it for `arm64` with the `clang-cl` argument.

Issue: #21902
2022-06-17 11:04:11 -04:00
Ben Boeckel
07bc3b07ec gitlab-ci: test C++ modules using GCC 2022-06-16 10:28:34 -04:00
Ben Boeckel
1b2270aa4e ci: add a Docker image to test out C++ modules with GCC 2022-06-16 10:28:34 -04:00
Brad King
dfa5401af6 ci: use CMake 3.24.0-rc1 2022-06-14 14:21:01 -04:00
Brad King
7a21173b0e gitlab-ci: Add job to build Windows arm64 binaries
Base it on the approach from commit 4c7c66dcf5 (gitlab-ci: Add jobs to
make Windows x86_64 and i386 packages, 2022-05-19).  Leave out the
packaging and upload steps for now because they are only for the nightly
binaries, and will need a new release of CPack to pass the `arm64`
architecture to WiX.

Issue: #21902
2022-06-13 15:04:24 -04:00
Brad King
06c6e76a12 ci: update to WiX 3.14.0.6526
This version supports the `arm64` architecture.
2022-06-13 15:02:51 -04:00
Brad King
cca3a73ef0 ci: Factor out Windows x86-family-specific package configuration 2022-06-13 15:02:51 -04:00
Brad King
add3dc9508 ci: Re-order logic for downloading Qt during packaging
Prepare to support per-architecture URLs.
2022-06-13 15:02:51 -04:00
Brad King
3ed06404bf gitlab-ci: add nightly job testing Ninja Multi-Config on Windows 2022-06-07 12:38:50 -04:00
Brad King
e39acc2b3a gitlab-ci: add nightly job testing Ninja Multi-Config on macOS 2022-06-07 12:21:02 -04:00
Brad King
d14349c907 ci: Enable ISPC tests on Linux, Windows, and macOS nightly builds 2022-06-06 17:00:07 -04:00
Brad King
49996faaac ci: remove ISPC from the Fedora CI image
Revert commit 5ece12b7e4 (gitlab-ci: add ISPC to the Fedora CI image,
2020-08-18, v3.19.0-rc1~244^2).  Later we will download ISPC in specific
jobs.

Update a `RunCMake.NinjaMultiConfig` test expectation to account for
a change to the Qt deployed on Fedora 36.
2022-06-06 16:59:25 -04:00
Brad King
3e791592ad gitlab-ci: init macOS and Windows jobs with per-CMAKE_CONFIGURATION scripts
Apply the approach from commit 747940157f (gitlab-ci: init environment
with per-CMAKE_CONFIGURATION shell scripts, 2021-03-12,
v3.21.0-rc1~480^2~4) to macOS and Windows too.
2022-06-06 13:52:30 -04:00
Brad King
0faf485de2 Merge topic 'ci-ninja-1.11.0'
62689fcf9c ci: update to use ninja 1.11.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7319
2022-06-03 09:46:18 -04:00
Brad King
62689fcf9c ci: update to use ninja 1.11.0 2022-06-02 12:38:00 -04:00
Brad King
9eb81b2f9a Merge topic 'ci-fedora-36'
ef6a7921e5 gitlab-ci: use Fedora 36 images and environments
483ff3b903 ci: update Linux image to Fedora 36
13c5153ccd ci: make rvm version comments consistent
6c08dd972c clang-tidy: suppress `google-readability-casting` lint
17b7bbf2a0 clang-tidy: suppress new `readability-identifier-length` lint
16e6e4e7dd cmFileCommand: remove an unnecessary cast
b89c085237 clang-tidy: fix `readability-static-definition-in-anonymous-namespace` lints
c8c9d7de03 clang-tidy: fix `bugprone-exception-escape` lints
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7271
2022-05-24 10:05:33 -04:00
Ben Boeckel
ef6a7921e5 gitlab-ci: use Fedora 36 images and environments 2022-05-24 09:09:45 -04:00
Ben Boeckel
483ff3b903 ci: update Linux image to Fedora 36 2022-05-24 09:09:44 -04:00