Commit Graph

206 Commits

Author SHA1 Message Date
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
Ben Boeckel
4318e8ed35 gitlab-ci: add iwyu job 2020-04-29 11:18:02 -04:00
Ben Boeckel
0866b9253b gitlab-ci: add initial clang-tidy build 2020-04-29 11:18:02 -04:00