Commit Graph

252 Commits

Author SHA1 Message Date
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