113 Commits

Author SHA1 Message Date
Brad King 6410425e5b ci: build separate macOS packages for macOS 10.13+ and macOS 10.10+
In order to support modern macOS features like Dark Mode, we need to use
Qt 5.15, which requires macOS 10.13.  However, we still want to support
macOS 10.10 as well, for which we need to use Qt 5.9.  Build separate
macOS packages for these use cases.

Fixes: #21606
Issue: #20825
2021-01-07 16:56:05 -05:00
Brad King 3679b74a69 gitlab-ci: update upload jobs to go to cmake.org
Upload binaries to `cmake.org` through its own name rather than
through the `public.kitware.com` alias.
2021-01-07 16:09:28 -05:00
Brad King 7b4a50d622 gitlab-ci: update macOS jobs to use Xcode 12.3 2021-01-06 12:47:02 -05:00
Hi Key 76742c4cbe gitlab-ci: add jobs to make Linux release packages for aarch64 on 3.19 branch 2020-12-22 14:04:39 -05:00
Brad King 595551a805 gitlab-ci: consolidate Linux release package job spec for x86_64 2020-12-22 14:04:39 -05:00
Brad King 23de430545 Utilities/Release: Update macOS Qt 5.9 build for platform versioning
Backport the upstream Qt patch [1] to link Qt binaries using the
`-isysroot` flag instead of `-Wl,-syslibroot`.  This is needed so that
the binaries have a SDK version set, which is needed for runtime
validation on modern macOS versions.

[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=6387138a7991b4588639dc48847f175b5afaff84
2020-12-14 11:33:30 -05:00
Brad King 56a075eb5d ci: update macOS package to produce universal binaries
Update our deployment target to macOS 10.10.
This is required by Qt 5.9.

Fixes: #21565
Issue: #20825
2020-12-10 10:55:17 -05:00
Brad King b184cc256b ci: do not use sccache for macOS packaging
It is not compatible with building for multiple architectures.
2020-12-10 10:53:59 -05:00
Brad King 41bddf1028 ci: update to pre-built Qt 5.9.9 universal binaries for macOS packages 2020-12-10 10:09:29 -05:00
Brad King 55193c8013 ci: Hard-code XCTest deployment target to 10.15
Avoid using the macOS version running on the CI job host that happens
to run the build job.
2020-12-09 13:28:52 -05:00
Brad King 73d1c78bf4 ci: update to use ninja 1.10.2 2020-11-30 15:02:10 -05:00
Brad King 9e83e77129 Merge topic 'ci-xcode-12.2' into release-3.19
5213328008 gitlab-ci: update macOS jobs to use Xcode 12.2
928ca50b6f Tests: Teach RunCMake to ignore Xcode install_name_tool signature warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5534
2020-11-25 08:38:56 -05:00
Brad King 5213328008 gitlab-ci: update macOS jobs to use Xcode 12.2 2020-11-24 14:36:20 -05:00
Brad King 1af2d1d0ea Tests: Add CMake_TEST_Java option to control Java tests 2020-11-24 13:29:30 -05:00
Brad King ec5223666b gitlab-ci: update macOS jobs to use Xcode 12.0 2020-11-18 11:49:55 -05:00
Brad King fa0c02e9df ci: update to use CMake 3.19.0 2020-11-18 11:48:16 -05:00
Brad King a282714be9 gitlab-ci: Update Windows builds to MSVC 19.28 2020-11-17 13:34:51 -05:00
Ben Boeckel 6e35919e15 gitlab-ci: use Fedora 33 to build sources 2020-11-13 08:58:17 -05:00
Ben Boeckel 061f7d5ca3 gitlab-ci: update Linux CI to use Fedora 33 2020-11-13 08:58:17 -05:00
Ben Boeckel bd62d2ecf3 ci: update to Fedora 33 for Linux builds 2020-11-13 08:37:07 -05:00
Brad King ada3170625 ci: install gmock in the Fedora 31 image
The gmock libraries are referenced by GTest's CMake package files.

While at it, also explicitly install gettext.  It is installed already,
but make it explicit for future testing of the FindGettext module.

(cherry picked from commit 585cc7c930)
2020-11-13 08:37:03 -05:00
Ben Boeckel e68d3e3b44 ci: update to Qt 5.15.1 2020-10-27 09:49:07 -04:00
Ben Boeckel d759c4310d ci: update to use CMake 3.18.4 2020-10-27 09:48:56 -04:00
Kyle Edwards ec3b3d2c2f Merge topic 'cmakepresets-schema' into release-3.19
21bc2fd945 CI: Install jsonschema for schema testing
e3bce8edf4 Tests: Add JSON schema validation to CMakePresets.json tests
0307f7c980 Help: Add JSON schema for CMakePresets.json

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5366
2020-10-21 09:15:29 -04:00
Brad King 8f7fef629b ci: add Python to PATH on Windows
Our test suite searches for a Python interpreter to perform some extra
checks.  Our CI base images for Linux have Python available.  Update our
Windows jobs to provide a Python interpreter for our test suite to find
consistently between the build and test steps.
2020-10-20 15:11:12 -04:00
Kyle Edwards 21bc2fd945 CI: Install jsonschema for schema testing 2020-10-20 12:18:10 -04:00
Ben Boeckel b0fe666846 ci: use a patched sccache on macOS
This version is much less likely to timeout on server startup since it
runs the expensive computation in a background thread.

See https://github.com/mozilla/sccache/pull/868 for the status.
2020-10-19 09:23:06 -04:00
Marc Chevrier 2549dc7c93 FindPython: Enable C language in tests that find the Development component
Since commit 5537ccd814 (FindPython: Tests optimizations, 2020-10-01)
some FindPython tests fail because the Development component cannot be
found without knowing `CMAKE_LIBRARY_ARCHITECTURE`.  Enable at least one
language in each of these test cases to get that value.  This is
consistent with use in practice because the Development component does
not make much sense without a language to compile sources anyway.

Fixes: #21277
2020-10-07 12:01:43 -04:00
Brad King dd47d0d7f4 gitlab-ci: add rules to enable jobs in a nightly pipeline schedule 2020-10-07 06:16:51 -04:00
Brad King 3f494b12ea gitlab-ci: configure continuous job ctest build name and model accordingly 2020-10-07 06:16:28 -04:00
Brad King 63c7e7ca04 gitlab-ci: factor out ctest_start() model into a variable 2020-10-07 06:12:44 -04:00
Brad King 0556bd2f8a gitlab-ci: use ctest_start GROUP option instead of deprecated TRACK 2020-10-07 06:12:05 -04:00
Ben Boeckel 39da646238 gitlab-ci: add FortranC test directory to the artifacts 2020-10-06 09:55:40 -04:00
Brad King 0792fe4759 ci: enable IPO tests on Debian 10 and Fedora 31 builds 2020-10-05 08:57:10 -04:00
Brad King c582e51909 ci: enable Fortran submodule tests on Debian 10 and Fedora 31 builds 2020-10-05 08:57:10 -04:00
Brad King 12b56269d4 ci: enable Qt5 tests on Debian 10 and Fedora 31 builds 2020-10-05 08:57:10 -04:00
Brad King 02e8befb74 gitlab-ci: add job to run test suite on Debian 10 with ninja 2020-10-05 08:57:10 -04:00
Brad King 2bb2a283e9 ci: add packages for many find modules to the Debian 10 image 2020-10-05 08:57:10 -04:00
Brad King 03fb06b8e7 ci: enable many find module tests for the Fedora 31 Makefiles build 2020-10-05 08:57:10 -04:00
Brad King b23f36bba6 ci: add packages for many find modules to the Fedora 31 image 2020-10-05 08:57:10 -04:00
Brad King a58e3c7e8b ci: Skip the Module.ExternalData test on Windows
This test spuriously fails too frequently and breaks our pipelines.
Pending further investigation into the race causing the failure, skip
the test on Windows for now.  The module is well covered by the test on
other platforms anyway.
2020-10-01 15:31:35 -04:00
Brad King 22b3a1abd9 ci: support a max parallelism for test-ext jobs
Machines may have more cores than testing actually supports.

Apply the change from commit e80362252f (ci: support a max parallelism
for tests, 2020-09-28) to tests in the test-ext stage too.
2020-10-01 11:22:31 -04:00
Ben Boeckel 1853201bfa gitlab-ci: hide modern whitespace attribute usage from old Git versions
The old Git doesn't understand our new `eol=` attribute usage, so make
it not care about the difference.
2020-10-01 07:32:23 -04:00
Ben Boeckel bd83c9f073 gitlab-ci: add jobs to make Linux release packages
These reuse the doc artifacts as the macOS package does.
2020-10-01 07:32:14 -04:00
Brad King ff72dbfb14 gitlab-ci: configure rules to enable continuous builds of staged MRs
Configure rules to allow jobs for continuous builds to be enabled on a
project that configures a specific branch this purpose.
2020-09-30 15:00:56 -04:00
Brad King a7afd8d3b0 gitlab-ci: use separate rules for dependent jobs 2020-09-30 14:29:20 -04:00
Brad King 45633a6297 gitlab-ci: add a job to make source packages 2020-09-29 11:18:45 -04:00
Brad King 17decc4691 gitlab-ci: re-organize packaging pipeline
Move the macOS package build job into the `build` stage.  Since it
depends on the sphinx doc package job, add a preceding `prep` stage.
2020-09-29 11:13:14 -04:00
Ben Boeckel e80362252f ci: support a max parallelism for tests
Machines may have more cores than testing actually supports.
2020-09-28 09:57:24 -04:00
Ben Boeckel 93a745683b sccache: use a different port for CMake builds
This avoids server reuse between different projects on the same machine.
2020-09-28 09:55:42 -04:00