Commit Graph

364 Commits

Author SHA1 Message Date
Brad King
4c7c66dcf5 gitlab-ci: Add jobs to make Windows x86_64 and i386 packages
Run CPack in a separate job for nightly binaries, and not at all for
release binaries.  Unlike macOS disk images (.dmg), we cannot sign the
binaries inside Windows installers (.msi) after-the-fact.  Instead,
produce enough artifacts from the build job to sign and package release
binaries manually.

Port build settings from `Utilities/Release/win/x86/Dockerfile` and its
helper scripts.
2022-05-19 15:25:55 -04:00
Brad King
729ee30c2e gitlab-ci: Simplify collection of CTestTestfile artifacts
gitlab-runner 13.0 and above support `**` to match arbitrary
directory paths.
2022-05-19 15:25:55 -04:00
Brad King
3c64e40e90 Merge topic 'ci-msvc-19.32'
cc93d2af08 gitlab-ci: Update Windows builds to MSVC 19.32 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7259
2022-05-13 08:40:46 -04:00
Brad King
cc93d2af08 gitlab-ci: Update Windows builds to MSVC 19.32 toolset 2022-05-12 17:47:44 -04:00
Brad King
e7de5894c7 Merge topic 'ci-xcode-13.3'
65b6daf776 gitlab-ci: update macOS jobs to use Xcode 13.3
94361a1309 Tests: Ignore all classes in Xcode internal objc warnings
da9f864513 Tests: Teach RunCMake to ignore Xcode extension point warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7204
2022-04-26 11:12:52 -04:00
Brad King
7e4d6bbe02 Merge topic 'ci-xcode-13.3' into release-3.23
65b6daf776 gitlab-ci: update macOS jobs to use Xcode 13.3
94361a1309 Tests: Ignore all classes in Xcode internal objc warnings
da9f864513 Tests: Teach RunCMake to ignore Xcode extension point warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7204
2022-04-26 11:12:51 -04:00
Brad King
28dc5ea910 Merge topic 'ci-python'
2c140ac7b1 ci: Avoid finding Python via Windows Registry

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7203
2022-04-26 10:27:20 -04:00
Brad King
2c140ac7b1 ci: Avoid finding Python via Windows Registry
Since commit 313ea361b0 (CMake: Use FindPython instead of
FindPythonInterp to build CMake itself, 2022-04-21), CI jobs on some
Windows hosts have been finding Python via the Windows Registry.
Explicitly disable the registry search so that the CI jobs find the
Python that we download and put in the PATH inside the job.
2022-04-26 09:29:37 -04:00
Brad King
65b6daf776 gitlab-ci: update macOS jobs to use Xcode 13.3 2022-04-25 15:52:15 -04:00
Brad King
7d98d464b4 ci: Enable FindICU test on Linux builds 2022-04-22 10:25:59 -04:00
Brad King
2228e545e1 ci: Add libicu to Debian and Fedora base images 2022-04-22 10:24:29 -04:00
Brad King
02a0ecd0ba Merge topic 'ci-cmake-update'
ca4d5d366d ci: use CMake 3.23.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7172
2022-04-14 09:22:35 -04:00
Brad King
ca4d5d366d ci: use CMake 3.23.1 2022-04-12 13:15:15 -04:00
Brad King
c8f912fa59 Merge topic 'FindJNI-targets'
00c4f488f2 FindJNI: support Android NDK
171d45c039 FindJNI: added components and imported targets
35e92ec619 FindJNI: improved description

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !7069
2022-04-07 09:11:56 -04:00
Brad King
5c429c5b40 Merge topic 'ci-cmake.org-help'
b691906d27 gitlab-ci: Build qthelp-format release documentation for cmake.org
1ceec19c20 gitlab-ci: Add objects.inv to cmake.org html documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7146
2022-04-06 13:02:38 -04:00
Brad King
76632f9f47 Merge topic 'ci-cmake.org-help' into release-3.23
b691906d27 gitlab-ci: Build qthelp-format release documentation for cmake.org
1ceec19c20 gitlab-ci: Add objects.inv to cmake.org html documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7146
2022-04-06 13:02:37 -04:00
Brad King
b691906d27 gitlab-ci: Build qthelp-format release documentation for cmake.org
Previously the qthelp-format release documentation on `cmake.org` was
built manually.
2022-04-06 09:59:14 -04:00
Brad King
1ceec19c20 gitlab-ci: Add objects.inv to cmake.org html documentation 2022-04-06 09:24:48 -04:00
Brad King
f38fbdb65b Merge topic 'ci-cmake.org-help' into release-3.23
2808281730 gitlab-ci: update cmake.org documentation in release package pipeline
ed00a29cce gitlab-ci: consolidate jobs for cmake.org/cmake/help/git-{master,stage} docs
5c2e8ce515 Utilities/Sphinx: Add OpenSearch link to html page headers on cmake.org
a14905d4df Utilities/Sphinx: Add option to build outdated version banner for cmake.org
cca73b54ae Utilities/Sphinx: Add undocumented option to build docs for cmake.org

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7144
2022-04-05 17:46:01 -04:00
Brad King
2ce668b11d Merge branch 'backport-ci-cmake.org-help' into ci-cmake.org-help 2022-04-05 16:51:04 -04:00
Brad King
2808281730 gitlab-ci: update cmake.org documentation in release package pipeline 2022-04-05 16:09:55 -04:00
Brad King
ed00a29cce gitlab-ci: consolidate jobs for cmake.org/cmake/help/git-{master,stage} docs 2022-04-05 16:09:55 -04:00
Brad King
a14905d4df Utilities/Sphinx: Add option to build outdated version banner for cmake.org
This was previously added in a custom branch for building the
cmake.org reference documentation.
2022-04-05 16:09:54 -04:00
Brad King
cca73b54ae Utilities/Sphinx: Add undocumented option to build docs for cmake.org 2022-04-05 16:09:54 -04:00
Brad King
c7bc763d58 Merge topic 'ci-release-manual'
eb410615f2 gitlab-ci: start release package pipelines manually
3a90800a9c gitlab-ci: simplify package pipeline job conditions
9a1b301c85 gitlab-ci: add sanity check to upload jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7143
2022-04-05 15:39:14 -04:00
Brad King
4bf579b8cb Merge topic 'ci-release-manual' into release-3.23
eb410615f2 gitlab-ci: start release package pipelines manually
3a90800a9c gitlab-ci: simplify package pipeline job conditions
9a1b301c85 gitlab-ci: add sanity check to upload jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7143
2022-04-05 15:39:13 -04:00
Brad King
eb410615f2 gitlab-ci: start release package pipelines manually
A release pipeline is always created by manual execution of a pipeline
schedule.  Require the initial pipeline jobs to be started manually too
so that we can later add separate components to play separately.
2022-04-05 15:00:17 -04:00
Brad King
3a90800a9c gitlab-ci: simplify package pipeline job conditions
Use the job stage to distinguish upload jobs instead of an
explicit variable.
2022-04-05 15:00:17 -04:00
Brad King
9a1b301c85 gitlab-ci: add sanity check to upload jobs
Ensure that the upload destination is not empty.
2022-04-05 15:00:17 -04:00
Sergiu Deitsch
171d45c039 FindJNI: added components and imported targets 2022-04-04 19:46:32 +02:00
Brad King
ffe699217c Merge topic 'ci-package-uploads'
b20a19fca1 Merge branch 'backport-3.22-ci-package-uploads' into ci-package-uploads
cb44e0d47c gitlab-ci: distinguish release and development pipeline schedules
3a9a9a3ace gitlab-ci: clarify name of package upload job template

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7142
2022-04-04 13:41:28 -04:00
Brad King
b20a19fca1 Merge branch 'backport-3.22-ci-package-uploads' into ci-package-uploads 2022-04-04 13:26:19 -04:00
Brad King
cb44e0d47c gitlab-ci: distinguish release and development pipeline schedules
Redefine the `CMAKE_CI_PACKAGE` pipeline schedule variable to
indicate whether it is for a development version (`dev`) or a
release version (`v[0-9]...`).  Use this to automatically turn
package upload jobs on or off without having to edit the jobs
in `.gitlab-ci.yml` for release branches.
2022-04-04 13:23:37 -04:00
Brad King
3a9a9a3ace gitlab-ci: clarify name of package upload job template
The template is used to upload both source and binary packages.
2022-04-04 13:23:35 -04:00
Brad King
97f4aa1f05 ci: Add OpenJDK to Debian and Fedora base images
This enables the `JavaExportImport` test in CI.
2022-03-21 16:30:58 -04:00
Brad King
78d0613695 ci: Drop p4 binary checksum because the download URL is not stable
In commit f9526f39a1 (ci: Add bzr and p4 to Debian and Fedora base
images, 2022-02-21) we checked the SHA-256 hash of the Perforce binary.
However, content at the download URL has changed in just the last few
weeks, so we cannot consider it stable.
2022-03-18 09:40:34 -04:00
Brad King
ff8c0e9c10 ci: Clamp CUDA 'native' architecture to values supported by its toolkit
The `native` architecture compiles for the host's GPUs, but our CI jobs
may may run on hosts with GPUs newer than supported by their version of
the CUDA toolkit.  Add an undocumented environment variable to tell
CMake to clamp the native architecture to that supported by the toolkit.

Without this, we may try to compile for architectures not supported by
the CUDA Toolkit, which fails.  Since commit d1b48bfabd (CUDA: Add
support for CUDA_ARCHITECTURES=native, 2022-03-04), our CUDA 9.2 CI job
fails when it runs on a CI host with a GPU architecture newer than that
CUDA 9.2 supports.  Clamping the architecture level fixes that.

Do not document this clamp behavior publicly, at least for now.
Users can be responsible for building with a CUDA toolkit recent
enough to support their host's GPUs.

Issue: #22375
2022-03-16 13:14:51 -04:00
Brad King
7ada318350 Merge topic 'ci-msvc-19.31'
f2c303f4c7 Merge branch 'backport-3.22-ci-msvc-19.31' into ci-msvc-19.31
e66de43180 gitlab-ci: Update Windows builds to MSVC 19.31 toolset
fade5b5b8c gitlab-ci: Update Windows builds to MSVC 19.31 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7059
2022-03-10 06:33:56 -05:00
Brad King
e66de43180 gitlab-ci: Update Windows builds to MSVC 19.31 toolset 2022-03-09 10:02:01 -05:00
Brad King
fade5b5b8c gitlab-ci: Update Windows builds to MSVC 19.31 toolset 2022-03-09 10:00:57 -05:00
Brad King
8aeabc9d6a Merge topic 'ci-cuda-11.6'
1f601753d7 gitlab-ci: add jobs testing cuda11.6 with nvcc and clang 13
7716750062 ci: add cuda11.6 base image
77bdcc949d gitlab-ci: run CUDA and HIP test jobs in any non-MR pipeline

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7038
2022-03-04 09:02:25 -05:00
Brad King
1f601753d7 gitlab-ci: add jobs testing cuda11.6 with nvcc and clang 13 2022-03-03 12:46:47 -05:00
Brad King
7716750062 ci: add cuda11.6 base image 2022-03-03 12:02:35 -05:00
Brad King
8c84b2e468 Merge topic 'ci-continuous'
bba3d65bb6 ci: add fedora35-ninja build and test jobs in continuous pipeline
e3519aced4 ci: configure rules to enable dependent jbos in continuous pipeline

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7034
2022-03-03 11:44:39 -05:00
Brad King
e3519aced4 ci: configure rules to enable dependent jbos in continuous pipeline
Apply the rules from commit ff72dbfb14 (gitlab-ci: configure rules to
enable continuous builds of staged MRs, 2020-09-30, v3.19.0-rc1~70^2~1)
and commit 71665c8cb9 (gitlab-ci: Clarify conditions enabling jobs for
continuous build of stage, 2021-05-05, v3.21.0-rc1~218^2) to dependent
jobs too.
2022-03-02 15:05:19 -05:00
Brad King
b88f7aad63 ci: add nightly CI job to build CMake in-place 2022-03-02 09:47:02 -05:00
Brad King
2a7ac62c04 ci: Compute processor count earlier in ctest_standalone.cmake
Compute it early enough to use in the configure step.
2022-03-02 09:47:02 -05:00
Brad King
1613d87dee ci: Rename ctest_test_external.cmake to ctest_standalone.cmake
The script is a standalone ctest script that runs all steps.
It can be used for more than just external tests.
2022-03-02 09:47:02 -05:00
Brad King
ac37e99453 ci: Rename variable CMake_SKIP_INSTALL to CMAKE_CI_NO_INSTALL
The latter follows our convention for other variable names.
2022-03-02 09:47:02 -05:00
Brad King
c1479f08a8 ci: Enable Swift tests in debian10-ninja job in non-MR pipelines
The Swift compiler is too big to put in the Debian base image,
so download it in this specific job instead.
2022-02-25 13:33:46 -05:00