Commit Graph

252 Commits

Author SHA1 Message Date
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
f391c1c269 gitlab-ci: add jobs testing Intel 2022.2.0 compilers on Linux
Note that the classic compiler version is 2021.7.0, but we still
have it in the 2022.2.0 base image.
2022-10-03 17:51:17 -04:00
Brad King
b9dd9b09a2 Merge topic 'ci-msvc-14.33'
b87645b6a5 gitlab-ci: Update non-packaging Windows builds to MSVC 14.33 toolset
cb8b27a901 gitlab-ci: Use separate MSVC toolset specification for packaging jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7597
2022-08-22 09:46:29 -04:00
Brad King
cb8b27a901 gitlab-ci: Use separate MSVC toolset specification for packaging jobs
This will be useful for testing CMake with one version of MSVC
while packaging the official binaries with another version.

Issue: #23859
2022-08-19 07:30:42 -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
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
Ben Boeckel
07bc3b07ec gitlab-ci: test C++ modules using GCC 2022-06-16 10:28:34 -04:00
Brad King
24099112c0 gitlab-ci: Add jobs to package and upload Windows arm64 nightly binaries
Follow up commit 7a21173b0e (gitlab-ci: Add job to build Windows arm64
binaries, 2022-06-13, v3.24.0-rc1~4^2~1).  Base the package and upload
jobs on the approach from commit 4c7c66dcf5 (gitlab-ci: Add jobs to make
Windows x86_64 and i386 packages, 2022-05-19).

Issue: #21902
2022-06-14 16:13:45 -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
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
6cef17bc6e gitlab-ci: name artifacts produced by release package jobs
Name the `.zip` file that GitLab CI uses to hold the package artifacts.
Use a different name for each platform/architecture combination so that
we can download them all to a single local directory without conflicts.
2022-06-01 12:29:21 -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
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
cb3feb1efe gitlab-ci: add jobs testing Intel 2022.1.0 compilers on Linux
Note that the classic compiler version is 2021.6.0, but we still
have it in the 2022.1.0 base image.
2022-05-16 17:29:16 -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
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
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
77bdcc949d gitlab-ci: run CUDA and HIP test jobs in any non-MR pipeline
Previously we only ran these in a scheduled nightly pipeline.
We should run them in pipelines on integration branches too,
particularly for the `release` branch.
2022-03-03 12:02:00 -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
bba3d65bb6 ci: add fedora35-ninja build and test jobs in continuous pipeline 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
2c553c56b4 Merge topic 'ci-intel-compiler'
3fe20db126 gitlab-ci: add jobs testing Intel 2022.0.2 compilers on Linux
6675fdd5c9 gitlab-ci: add jobs testing Intel 2021.4.0 compilers on Linux
ce8d471d94 gitlab-ci: add jobs testing Intel 2021.3.0 compilers on Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6962
2022-02-09 08:57:49 -05:00
Brad King
3fe20db126 gitlab-ci: add jobs testing Intel 2022.0.2 compilers on Linux
Note that the classic compiler version is 2021.5.0, but we still
have it in the 2022.0.2 base image.
2022-02-08 13:57:05 -05:00
Brad King
6675fdd5c9 gitlab-ci: add jobs testing Intel 2021.4.0 compilers on Linux 2022-02-07 19:33:00 -05:00
Brad King
ce8d471d94 gitlab-ci: add jobs testing Intel 2021.3.0 compilers on Linux 2022-02-07 19:32:33 -05:00
Brad King
6bda940c25 ci: Add nightly CI job for clang++ with NMake
In commit c1f4bd792b (ci: Add LLVM/Clang 13.0 nightly CI jobs on
Windows, 2022-02-02) we added three of the four combinations of
`clang-cl`/`clang++` with NMake/Ninja.  Add the last combination.
2022-02-07 19:26:26 -05:00
Brad King
c1f4bd792b ci: Add LLVM/Clang 13.0 nightly CI jobs on Windows
Add jobs covering the `clang-cl` front-end with Ninja and NMake.
Add a job covering the `clang++` front-end with Ninja.
2022-02-04 08:24:53 -05:00
Brad King
345908b16b Begin post-3.23 development 2022-02-03 09:16:07 -05:00
Brad King
8efb06190c gitlab-ci: Drop package pipeline upload jobs for release branch
The package pipeline for release versions should not upload packages
automatically to our archive of nightly development versions.
2022-02-03 09:11:34 -05:00
Brad King
c76abba044 gitlab-ci: update to Fedora 35 base images 2022-02-01 17:20:29 -05:00
Ben Boeckel
7d5828e293 gitlab-ci: shorten job prefixes
This helps to maximize the amount of information visible in the GitLab
web interface.

Also document their meaning in the developer documentation and in the CI
configuration file directly.

See: https://gitlab.com/gitlab-org/gitlab/-/issues/8496
2021-11-23 10:11:25 -05:00
Ben Boeckel
cfa478e518 gitlab-ci: fix comment typo 2021-11-23 10:06:32 -05:00
Ben Boeckel
c0d8e42a08 gitlab-ci: shorten job prefixes
This helps to maximize the amount of information visible in the GitLab
web interface.

Also document their meaning in the developer documentation and in the CI
configuration file directly.

See: https://gitlab.com/gitlab-org/gitlab/-/issues/8496
2021-11-22 12:58:25 -05:00
Ben Boeckel
3c2fedfeaf gitlab-ci: fix comment typo 2021-11-22 12:58:25 -05:00
Brad King
3b9975d9b5 ci: Add JOM nightly CI job 2021-11-17 12:50:16 -05:00
Brad King
ec68e3c5c6 ci: Add NMake nightly CI job 2021-11-17 12:49:43 -05:00
Brad King
99c335c8e8 gitlab-ci: Clarify MSVC v71 job script config block name
Rename `cmake_test_windows_{nmake => msvc}` since it fetches MSVC,
not NMake.
2021-11-17 12:07:40 -05:00
Brad King
3d4073b129 gitlab-ci: Try upstream ninja development branch in a Windows nightly job 2021-11-15 10:24:32 -05:00
Brad King
e731afd8b3 ci: Add VS 2019 nightly CI jobs
Now that the primary VS jobs have been converted to VS 2022,
add nightly CI jobs to cover VS 2019.
2021-11-12 11:06:17 -05:00
Brad King
b63a87582f gitlab-ci: Update Windows jobs to VS 2022 2021-11-11 13:12:42 -05:00
Brad King
190d2b5d55 gitlab-ci: Update Windows jobs to VS 2022 2021-11-11 13:12:27 -05:00
Brad King
ac32794983 gitlab-ci: Re-organize Windows job tags
Name the tag groups based on the VS version needed.
2021-11-11 12:51:32 -05:00
Brad King
39bdb1e332 gitlab-ci: Re-organize Windows job tags
Name the tag groups based on the VS version needed, if any.  Drop
VS-related tags from Windows jobs that do not need any pre-installed VS
version.
2021-11-11 12:06:48 -05:00
Brad King
11903f1b5f ci: Add MSVC v71 NMake nightly CI job 2021-11-01 17:35:00 -04:00
Brad King
14f2dbad03 ci: Add Open Watcom 1.9 nightly CI job 2021-10-18 10:17:47 -04:00
Brad King
45d02c9fdc ci: Add Borland 5.5 and 5.8 nightly CI jobs 2021-10-13 13:59:30 -04:00
Brad King
3068ea834f Begin post-3.22 development 2021-10-08 10:05:53 -04:00
Brad King
e137ce0a52 gitlab-ci: Drop package pipeline upload jobs for release branch
The package pipeline for release versions should not upload packages
automatically to our archive of nightly development versions.
2021-10-08 10:01:41 -04:00
Brad King
fbf47ee8be Merge topic 'ci-asan'
915ef42cab gitlab-ci: Fix asan test job rules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6601
2021-10-07 09:19:49 -04:00
Brad King
915ef42cab gitlab-ci: Fix asan test job rules
The job runs dependently after the asan build job.  Fix the rules for
the job added by commit 20bc209a0c (gitlab-ci: add clang asan job,
2021-06-07, v3.21.0-rc1~61^2).
2021-10-06 15:42:12 -04:00
Brad King
b5a59251cb gitlab-ci: Try upstream ninja development branch in some nightly jobs 2021-10-06 13:38:57 -04:00
Brad King
71ab24015f gitlab-ci: add job testing hip4.2 with Ninja Multi-Config 2021-07-09 13:48:28 -04:00
Brad King
52749ed81f Merge topic 'cmake-upload-junit-reports'
cb5c03ed04 gitlab-ci: upload JUnit reports for builds
722270ff50 ci: update to 3.21.0-rc2 for CI usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !6072
2021-07-02 08:06:54 -04:00
Brad King
6b0b6efc75 gitlab-ci: add job testing cuda9.2 with Ninja Multi-Config 2021-07-01 11:47:02 -04:00
Ben Boeckel
cb5c03ed04 gitlab-ci: upload JUnit reports for builds
GitLab can render test results which come from JUnit files and inform
which tests have started failing on an MR.
2021-06-30 11:56:05 -04:00
Brad King
11695f5985 Begin post-3.21 development 2021-06-17 13:18:30 -04:00
Brad King
f52b5aba20 gitlab-ci: Drop package pipeline upload jobs for release branch
The package pipeline for release versions should not upload packages
automatically to our archive of nightly development versions.
2021-06-17 13:15:33 -04:00
Brad King
54860f1f6b Merge topic 'ci-clang'
886a97cbe7 gitlab-ci: add job to test with clang-7 and ninja on debian10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6237
2021-06-17 06:36:32 -04:00
Brad King
886a97cbe7 gitlab-ci: add job to test with clang-7 and ninja on debian10
In commit 7e5e558d0f (gitlab-ci: add job to test with clang-7 on
debian10, 2021-06-04) we added coverage of clang-7 with the Unix
Makefiles generator.  Do the same for Ninja.
2021-06-16 14:57:34 -04:00
Brad King
f7af01efb6 gitlab-ci: add job testing cuda10.2 with clang 11 2021-06-16 14:25:38 -04:00
Brad King
369725faa5 gitlab-ci: add job to run CPack RPM tests
Run tests on Fedora in a path without spaces so the RPM tests activate.
2021-06-10 14:46:22 -04:00
Brad King
20bc209a0c gitlab-ci: add clang asan job 2021-06-08 09:54:08 -04:00
Brad King
7e5e558d0f gitlab-ci: add job to test with clang-7 on debian10
Test with a Clang version old enough to have caught the regression fixed
by commit 9411766c35 (BinUtils: Avoid llvm-objdump versions older than
Clang 9, 2021-05-29).
2021-06-04 13:30:19 -04:00
Brad King
da14f4e19e gitlab-ci: add job to build with clang-analyzer
Update the exceptions in `CTestCustom.cmake.in` to match this job's
needs.  Drop exceptions needed only by our previous nightly build.
2021-06-03 15:06:42 -04:00
Brad King
bca69d4272 gitlab-ci: add codespell lint job 2021-05-12 07:35:16 -04:00
Brad King
bf35f3848a gitlab-ci: rename lint builds to start in lint: 2021-05-12 07:35:16 -04:00
Brad King
89478e643f gitlab-ci: update to Fedora 34 base images 2021-05-12 07:17:54 -04:00
Brad King
a5a4b0b6ab gitlab-ci: add jobs to upload cmake.org/cmake/help/git-{master,stage} docs 2021-05-07 10:14:29 -04:00
Brad King
354ae6fe2e gitlab-ci: add jobs to build cmake.org/cmake/help/git-{master,stage} docs 2021-05-07 09:52:59 -04:00
Brad King
eb7cbb577e gitlab-ci: clarify name of rsync upload block for binaries 2021-05-07 09:52:59 -04:00
Brad King
8f03c24bfc gitlab-ci: add jobs testing Intel 2021.2.0 compilers on Linux 2021-05-03 13:33:25 -04:00
Brad King
d1b23dd468 gitlab-ci: update Intel Compiler base image tag naming convention 2021-03-24 16:45:47 -04:00
Brad King
1610c0f034 gitlab-ci: add jobs testing Intel oneAPI compilers on Linux 2021-03-17 11:41:26 -04:00
Brad King
c076833310 gitlab-ci: add jobs testing Intel Classic compilers on Linux 2021-03-17 11:41:26 -04:00
Brad King
5ea928d9d2 gitlab-ci: factor out job dependencies on release-style binaries 2021-03-17 11:41:25 -04:00
Brad King
8697701100 Merge topic 'ci-macos-arm64'
397ced99d7 gitlab-ci: Add macos-arm64 jobs for Ninja and Xcode
0755c2ffbb gitlab-ci: rename macos build and test jobs to macos-x86_64
73150a3798 ci: add sccache 0.2.15 custom build for aarch64-apple-darwin
cab41b96ac ci: update to sccache 0.2.15 on linux builds
8dcbe5688a ci: Use Qt macOS 10.13+ package for macOS build and test jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5851
2021-02-23 13:00:46 -05:00
Brad King
397ced99d7 gitlab-ci: Add macos-arm64 jobs for Ninja and Xcode
For now, leave these jobs out during merge requests.
2021-02-23 11:21:59 -05:00
Brad King
0755c2ffbb gitlab-ci: rename macos build and test jobs to macos-x86_64
This makes room for future equivalents for other architectures.
The packaging jobs produce universal binaries, so leave them as-is.
2021-02-23 11:21:59 -05:00
Brad King
693f4c70ff Begin post-3.20 development 2021-02-10 08:29:46 -05:00
Brad King
809b114979 gitlab-ci: Drop package pipeline upload jobs for release branch
The package pipeline for release versions should not upload packages
automatically to our archive of nightly development versions.
2021-02-10 08:26:15 -05:00
Brad King
430224b6e8 gitlab-ci: add test:debian10-aarch64-ninja job 2021-01-27 11:59:54 -05:00
Brad King
300a91d42d gitlab-ci: add build:centos7-aarch64 job
Test building our release for the `aarch64` architecture.
For now, leave this job out during merge requests.
2021-01-27 11:59:54 -05:00
Brad King
a54e43670d gitlab-ci: rename build:centos6-{release => x86_64}
This makes room for a future equivalent for other architectures.
2021-01-27 10:29:38 -05:00
Brad King
616bf0d2f0 gitlab-ci: consolidate release and package job infrastructure
Use `linux_release` in names associated with building or testing
release-style binaries.  Add a `.linux_package` helper to adjust
the release binary build behavior for package-specific jobs.
2021-01-27 10:29:38 -05:00
Brad King
dbac5b6934 gitlab-ci: add a job to upload macOS 10.10 binaries 2021-01-07 16:57:07 -05:00
Brad King
2d4d9cd37a Merge branch 'backport-rel-macos-modern' into rel-macos-modern 2021-01-07 16:56:48 -05:00
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
Hi Key
fe1bd15ad7 gitlab-ci: add jobs to make Linux release packages for aarch64 2020-12-22 14:05:17 -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
Ben Boeckel
3d1183c457 Merge branch 'ci-fedora33-release' into ci-fedora33
* ci-fedora33-release:
  gitlab-ci: use Fedora 33 to build sources
  gitlab-ci: update Linux CI to use Fedora 33
  ci: update to Fedora 33 for Linux builds
  ci: install gmock in the Fedora 31 image
  Tests/FindBoost/TestPython: support finding 3.8 and 3.9
  clang-tidy: ignore new warnings from newer versions
  clang-tidy: ignore `misc-no-recursion`
2020-11-13 09:46:40 -05:00
Ben Boeckel
061f7d5ca3 gitlab-ci: update Linux CI to use Fedora 33 2020-11-13 08:58:17 -05:00
Brad King
0cd84434ac Begin post-3.19 development 2020-10-08 11:28:48 -04:00
Brad King
16324555ab gitlab-ci: Drop package pipeline upload jobs for release branch
The package pipeline for release versions should not upload packages
automatically to our archive of nightly development versions.
2020-10-08 11:22:56 -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
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
46b1fc2387 gitlab-ci: rename package-pipeline jobs to end in "-package" 2020-10-01 07:26:37 -04:00
Brad King
4e08ce720b gitlab-ci: add sphinx job to continuous build 2020-09-30 15:00:59 -04:00
Brad King
a7afd8d3b0 gitlab-ci: use separate rules for dependent jobs 2020-09-30 14:29:20 -04:00
Brad King
448b411d99 gitlab-ci: add a job to upload source packages 2020-09-29 11:19:08 -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
Kyle Edwards
1dcc569828 gitlab-ci: Add GUI testing to each OS 2020-09-23 14:10:40 -04:00
Ben Boeckel
9671282bcc gitlab-ci: add a job to upload macOS binaries 2020-09-16 16:09:01 -04:00
Ben Boeckel
8ff3ce730d gitlab-ci: add a job to make macOS packages 2020-09-16 14:03:31 -04:00
Ben Boeckel
7d4ec05c6f gitlab-ci: add a job to make a doc "bundle"
This can be added to any other platform's package by reusing the
artifact.
2020-09-16 13:35:53 -04:00
Ben Boeckel
6d168c41e3 gitlab-ci: split linux and macos shared before scripts
They're not actually the same anyways and the anchors can't be shared
between the files. We can figure out refactoring in the future.
2020-06-12 12:59:55 -04:00
Ben Boeckel
a1fe6ad621 gitlab-ci: use extends
YAML anchors are not supported across include files.
2020-06-12 12:56:03 -04:00
Ben Boeckel
fda8b79f88 gitlab-ci: add a comment describing what goes into a job 2020-06-12 12:28:29 -04:00
Ben Boeckel
2b4523c5f2 gitlab-ci: make rules a bit more uniform 2020-06-12 12:28:29 -04:00
Ben Boeckel
d6fe877cf9 gitlab-ci: split into multiple files
Also add comments for sections to make it easier to figure out what's
going on.

Also rename the `cmake_test_unix_package` to be Linux-specific since it
actually is.
2020-06-12 12:28:29 -04:00
Ben Boeckel
77b44ed4ba gitlab-ci: add an Xcode tester 2020-06-12 11:23:36 -04:00
Ben Boeckel
d33b38d4aa gitlab-ci: rename some scripts to be Linux-specific
macOS install trees have a different layout and package names.
2020-06-12 11:23:19 -04:00
Brad King
3145264449 Merge topic 'gitlab-ci-ext-test-sets' into release-3.18
2e7cefec03 gitlab-ci: add a cuda10.2 builder
1a2961b895 Tests: add CUDA labels to tests which are affected by CUDA
2caa7502d5 ci: support running just a set of tests with external builders
26b4cbcf93 gitlab-ci: move Makefiles Linux tests to use the package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4877
2020-06-12 11:02:35 -04:00
Ben Boeckel
2e7cefec03 gitlab-ci: add a cuda10.2 builder 2020-06-12 09:13:21 -04:00
Ben Boeckel
26b4cbcf93 gitlab-ci: move Makefiles Linux tests to use the package 2020-06-11 13:03:38 -04:00
Ben Boeckel
973fc56020 gitlab-ci: test QtDialog on macOS 2020-06-10 16:42:56 -04:00
Ben Boeckel
881c0b86dd gitlab-ci: test QtDialog on Windows 2020-06-10 15:57:16 -04:00
Brad King
cc746c5b7e Merge topic 'linux-release-builders'
922cd3affe ci: fix the project detection for CDash submissions
c5b072800d gitlab-ci: add jobs for reproducing the release binaries
45f2786ff7 Release/linux: remove explicit LANG setting
c540fcaa6b Sphinx/create_identifiers: handle qhp contents as utf-8
e237fc65b7 Sphinx/create_identifiers: use `not in` not `not _ in`
0aa061f6f8 Sphinx/create_identifiers: remove unused import

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4852
2020-06-03 15:20:05 -04:00
Ben Boeckel
c5b072800d gitlab-ci: add jobs for reproducing the release binaries 2020-06-03 12:50:15 -04:00
Brad King
f65ba96043 gitlab-ci: Update Windows builds to MSVC 19.26 2020-06-03 12:22:30 -04:00
Ben Boeckel
cbe80818e2 gitlab-ci: support Windows jobs which support concurrent builds 2020-06-03 10:24:02 -04:00
Ben Boeckel
d3e02f1a48 gitlab-ci: support macOS jobs which support concurrent builds 2020-06-03 10:23:45 -04:00
Ben Boeckel
e1b2c0108f gitlab-ci: add a Ninja Multi-Config test job
This reuses the Ninja generator's tested build.
2020-06-02 07:40:00 -04:00
Ben Boeckel
1e8ecfccdd gitlab-ci: also build ncurses and Qt code on Linux 2020-06-02 07:37:56 -04:00
Brad King
0eebd0a0e3 gitlab-ci: pin macOS and Windows jobs to nonconcurrent runners
On macOS and Windows, our jobs use a `GIT_CLONE_PATH` that does not
contain `$CI_CONCURRENCY_ID` so that the build and test jobs always use
the same path.  Since we use shell runners for these platforms, all
concurrent jobs would use the same path and conflict.  Therefore we can
only use runners with a concurrency level of 1 for jobs in the `build`
and `test` stages.  However, jobs in the `test-ext` stage configure a
new build tree for the tests and therefore can use `$CI_CONCURRENCY_ID`
and support shell runners with higher concurrency levels.

Prepare to make that distinction in the future by pinning all jobs to
runners with a `nonconcurrent` tag.
2020-05-29 11:23:16 -04:00
Brad King
0508a80c1a gitlab-ci: update macOS jobs to Xcode 11.5 2020-05-29 09:52:48 -04:00
Brad King
0d5a1fd6e2 gitlab-ci: pin windows and macos jobs to runners with matching toolsets
The toolsets available on machines hosting shell runners will evolve
over time.  Require the runners to have tags indicating that they have
specific toolsets available.  When toolsets are eventually removed from
a runner, its tags can then be updated accordingly to prevent pipelines
created for old commits from ever running on them.
2020-05-29 07:15:16 -04:00
Ben Boeckel
72a7697901 gitlab-ci: pin macOS to a specific Xcode version 2020-05-28 11:40:32 -04:00
Brad King
dc2f964e16 gitlab-ci: Use stable build path on Windows 2020-05-27 12:56:33 -04:00
Brad King
fb20f4f70b gitlab-ci: Use a shorter work directory 2020-05-27 12:55:26 -04:00
Ben Boeckel
9812e87ee4 gitlab-ci: add a test of the VS generator based off of the ninja build 2020-05-26 12:50:16 -04:00
Ben Boeckel
f5e6738051 gitlab-ci: get the VS2019 location from the runner 2020-05-26 12:50:16 -04:00
Ben Boeckel
79f3790c1a gitlab-ci: get sccache location from the runner on Windows
When the sccache executable is in the build directory, it can fail to be
removed if the daemon is still running when another job starts. It
continues to run when a job is canceled or fails and then is "in use"
and cannot be deleted.
2020-05-26 12:50:16 -04:00
Ben Boeckel
b368c2d2f7 gitlab-ci: delay manual jobs on merges for 5 minutes
This should avoid races with merge trains canceling in-progress builds
leaving "rubble" around for further builds to trip over.
2020-05-26 12:50:16 -04:00
Ben Boeckel
d8fb1ffc9c gitlab-ci: use rules to only be manual on a merge request 2020-05-25 20:07:04 -04:00
Ben Boeckel
b566f0b308 gitlab-ci: add windows builder 2020-05-22 11:34:14 -04:00
Ben Boeckel
5b564c371e gitlab-ci: add Windows infrastructure 2020-05-22 11:34:14 -04:00
Ben Boeckel
02c56b71a1 gitlab-ci: add a macos builder 2020-05-22 11:34:14 -04:00
Ben Boeckel
a1b1fc611b gitlab-ci: add Linux makefiles and ninja builders 2020-05-22 11:34:14 -04:00
Ben Boeckel
0ed7e424ab gitlab-ci: use the cmake_build_unix anchor 2020-05-22 11:34:14 -04:00
Ben Boeckel
20fbf69f67 gitlab-ci: add linux-3.17 tag to the sphinx build
This build uses Qt libraries in a Fedora container. This library is
tagged with a note which says it requires Linux 3.17. Some of or CI
runners do not have this kernel on the host which causes glibc to refuse
to load it. Add a tag to indicate that we need a newer kernel on the
runner.
2020-05-08 08:52:00 -04:00
Ben Boeckel
50cbc9b77a gitlab-ci: add a sphinx builder 2020-05-07 13:25:58 -04:00