Merge branch 'release-3.29'
[kiteware-cmake.git] / .gitlab-ci.yml
bloba3d959c417f84e92dbb4fd9619e5dfd90ca4d704
1 include:
2     # Metadata shared by many jobs
3     - local: .gitlab/rules.yml
4     - local: .gitlab/artifacts.yml
6     # OS builds.
7     - local: .gitlab/os-linux.yml
8     - local: .gitlab/os-macos.yml
9     - local: .gitlab/os-windows.yml
11     # Post-build steps
12     - local: .gitlab/upload.yml
14 stages:
15     - prep
16     - build
17     - test
18     - test-ext
19     - upload
21 variables:
22     # Some jobs that place their artifacts in a different directory will override this.
23     CMAKE_CI_BUILD_DIR: build
25 ################################################################################
26 # Job declarations
28 # Each job must pull in each of the following keys:
30 #   - a "base image"
31 #   - a build script
32 #   - tags for the jobs
33 #   - rules for when to run the job
35 # Additionally, jobs may also contain:
37 #   - artifacts
38 #   - dependency/needs jobs for required jobs
39 ################################################################################
41 # Job prefixes:
42 #   - `b:` build
43 #   - `l:` lint
44 #   - `p:` prep
45 #   - `t:` test
46 #   - `u:` upload
48 # Prep jobs
50 p:source-package:
51     extends:
52         - .linux_prep_source
53         - .cmake_prep_source_linux
54         - .linux_x86_64_tags
55         - .cmake_release_artifacts
56         - .run_only_for_package
57     variables:
58         CMAKE_CI_ARTIFACTS_NAME: "artifacts-source"
60 p:doc-package:
61     extends:
62         - .fedora40_sphinx_package
63         - .cmake_prep_doc_linux
64         - .linux_x86_64_tags
65         - .cmake_doc_artifacts
66         - .run_only_for_package
68 u:source-package:
69     extends:
70         - .rsync_upload_package
71         - .run_only_for_package
72     dependencies:
73         - p:source-package
74     needs:
75         - p:source-package
77 # Documentation builds
79 b:cmake.org-help:
80     extends:
81         - .cmake_org_help
82         - .run_cmake_org_help
83     dependencies: []
84     needs: []
86 u:cmake.org-help:
87     extends:
88         - .rsync_upload_help
89         - .run_cmake_org_help
90     dependencies:
91         - b:cmake.org-help
92     needs:
93         - b:cmake.org-help
95 # Lint builds
97 l:codespell:
98     extends:
99         - .cmake_codespell_linux
100         - .linux_x86_64_tags
101         - .run_automatically
103 l:iwyu-debian12:
104     extends:
105         - .debian12_iwyu
106         - .cmake_build_linux
107         - .linux_x86_64_tags
108         - .cmake_cdash_artifacts
109         - .run_automatically
111 l:tidy-fedora40:
112     extends:
113         - .fedora40_tidy
114         - .cmake_build_linux
115         - .cmake_tidy_artifacts
116         - .linux_x86_64_tags
117         - .cmake_cdash_artifacts
118         - .run_automatically
120 l:sphinx-fedora40:
121     extends:
122         - .fedora40_sphinx
123         - .cmake_build_linux
124         - .cmake_sphinx_artifacts
125         - .linux_x86_64_tags
126         - .run_automatically
127     variables:
128         CMAKE_CI_JOB_CONTINUOUS: "true"
129         CMAKE_CI_JOB_HELP: "true"
131 l:clang-analyzer-fedora40:
132     extends:
133         - .fedora40_clang_analyzer
134         - .cmake_build_linux
135         - .linux_x86_64_tags
136         - .run_automatically
137     variables:
138         CMAKE_CI_JOB_NIGHTLY: "true"
140 # Linux builds
142 b:centos7-x86_64:
143     extends:
144         - .linux_release_x86_64
145         - .cmake_build_linux_release
146         - .cmake_release_artifacts
147         - .linux_x86_64_tags
148         - .run_manually
149     variables:
150         CMAKE_CI_ARTIFACTS_NAME: "artifacts-centos7-x86_64"
152 b:centos7-aarch64:
153     extends:
154         - .linux_release_aarch64
155         - .cmake_build_linux_release
156         - .cmake_release_artifacts
157         - .linux_aarch64_tags
158         - .run_manually
159     variables:
160         CMAKE_CI_ARTIFACTS_NAME: "artifacts-centos7-aarch64"
161         CMAKE_CI_NO_MR: "true"
163 t:debian12-ninja:
164     extends:
165         - .debian12_ninja
166         - .cmake_test_linux_release
167         - .linux_x86_64_tags
168         - .cmake_junit_artifacts
169         - .run_dependent
170         - .needs_centos7_x86_64
171     variables:
172         CMAKE_CI_JOB_NIGHTLY_NINJA: "true"
174 t:debian12-aarch64-ninja:
175     extends:
176         - .debian12_aarch64_ninja
177         - .cmake_test_linux_release
178         - .linux_aarch64_tags
179         - .cmake_junit_artifacts
180         - .run_dependent
181         - .needs_centos7_aarch64
182     variables:
183         CMAKE_CI_NO_MR: "true"
185 t:debian12-ninja-clang:
186     extends:
187         - .debian12_ninja_clang
188         - .cmake_test_linux_release
189         - .linux_x86_64_tags
190         - .run_dependent
191         - .needs_centos7_x86_64
192     variables:
193         CMAKE_CI_JOB_NIGHTLY: "true"
195 t:debian12-makefiles-clang:
196     extends:
197         - .debian12_makefiles_clang
198         - .cmake_test_linux_release
199         - .linux_x86_64_tags
200         - .run_dependent
201         - .needs_centos7_x86_64
202     variables:
203         CMAKE_CI_JOB_NIGHTLY: "true"
205 t:debian12-ninja-multi-symlinked:
206     extends:
207         - .debian12_ninja_multi_symlinked
208         - .cmake_test_linux_release
209         - .linux_x86_64_tags
210         - .cmake_junit_artifacts
211         - .run_dependent
212         - .needs_centos7_x86_64
213     variables:
214         CMAKE_CI_JOB_NIGHTLY: "true"
215         CMAKE_CI_JOB_NIGHTLY_NINJA: "true"
217 t:debian12-hip-radeon:
218     extends:
219         - .debian12_hip_radeon
220         - .cmake_test_linux_release
221         - .linux_x86_64_tags_radeon
222         - .run_dependent
223         - .needs_centos7_x86_64
224     variables:
225         CMAKE_CI_JOB_NIGHTLY: "true"
227 t:fedora39-hip-radeon:
228     extends:
229         - .fedora39_hip_radeon
230         - .cmake_test_linux_release
231         - .linux_x86_64_tags_radeon
232         - .run_dependent
233         - .needs_centos7_x86_64
234     variables:
235         CMAKE_CI_JOB_NIGHTLY: "true"
237 t:fedora40-ninja-clang:
238     extends:
239         - .fedora40_ninja_clang
240         - .cmake_test_linux_release
241         - .linux_x86_64_tags
242         - .run_dependent
243         - .needs_centos7_x86_64
244     variables:
245         CMAKE_CI_JOB_NIGHTLY: "true"
247 t:fedora40-ninja-multi-clang:
248     extends:
249         - .fedora40_ninja_multi_clang
250         - .cmake_test_linux_release
251         - .linux_x86_64_tags
252         - .run_dependent
253         - .needs_centos7_x86_64
254     variables:
255         CMAKE_CI_JOB_NIGHTLY: "true"
257 t:fedora40-makefiles-clang:
258     extends:
259         - .fedora40_makefiles_clang
260         - .cmake_test_linux_release
261         - .linux_x86_64_tags
262         - .run_dependent
263         - .needs_centos7_x86_64
264     variables:
265         CMAKE_CI_JOB_NIGHTLY: "true"
267 t:fedora40-makefiles:
268     extends:
269         - .fedora40_makefiles
270         - .cmake_test_linux_release
271         - .linux_x86_64_tags
272         - .run_dependent
273         - .needs_centos7_x86_64
275 t:fedora40-makefiles-nospace:
276     extends:
277         - .fedora40_makefiles
278         - .cmake_test_linux_release
279         - .linux_x86_64_tags
280         - .cmake_junit_artifacts
281         - .run_dependent
282         - .needs_centos7_x86_64
283     variables:
284         GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci"
285         CMAKE_CI_BUILD_NAME: fedora40_makefiles_nospace
286         CMAKE_CI_JOB_NIGHTLY: "true"
288 t:nvhpc22.11-ninja:
289     extends:
290         - .nvhpc_ninja
291         - .cmake_test_linux_release
292         - .linux_x86_64_v3_tags_cuda
293         - .run_dependent
294         - .needs_centos7_x86_64
295     variables:
296         CMAKE_CI_JOB_NIGHTLY: "true"
298 t:cuda9.2-nvidia:
299     extends:
300         - .cuda9.2_nvidia
301         - .cmake_test_linux_release
302         - .linux_x86_64_tags_cuda
303         - .run_dependent
304         - .needs_centos7_x86_64
305     variables:
306         CMAKE_CI_JOB_NIGHTLY: "true"
308 t:cuda10.2-nvidia:
309     extends:
310         - .cuda10.2_nvidia
311         - .cmake_test_linux_release
312         - .linux_x86_64_tags_cuda
313         - .cmake_junit_artifacts
314         - .run_dependent
315         - .needs_centos7_x86_64
316     variables:
317         CMAKE_CI_JOB_NIGHTLY: "true"
319 t:cuda10.2-clang:
320     extends:
321         - .cuda10.2_clang
322         - .cmake_test_linux_release
323         - .linux_x86_64_tags_cuda
324         - .run_dependent
325         - .needs_centos7_x86_64
326     variables:
327         CMAKE_CI_JOB_NIGHTLY: "true"
329 t:cuda11.6-nvidia:
330     extends:
331         - .cuda11.6_nvidia
332         - .cmake_test_linux_release
333         - .linux_x86_64_tags_cuda
334         - .cmake_junit_artifacts
335         - .run_dependent
336         - .needs_centos7_x86_64
337     variables:
338         CMAKE_CI_JOB_NIGHTLY: "true"
340 t:cuda11.6-clang:
341     extends:
342         - .cuda11.6_clang
343         - .cmake_test_linux_release
344         - .linux_x86_64_tags_cuda
345         - .run_dependent
346         - .needs_centos7_x86_64
347     variables:
348         CMAKE_CI_JOB_NIGHTLY: "true"
350 t:cuda11.8-minimal-ninja:
351     extends:
352         - .cuda11.8_minimal_nvidia
353         - .cmake_test_linux_release
354         - .linux_x86_64_tags_cuda
355         - .run_dependent
356         - .needs_centos7_x86_64
357     variables:
358         CMAKE_CI_JOB_NIGHTLY: "true"
360 t:cuda11.8-minimal-splayed-ninja:
361     extends:
362         - .cuda11.8_splayed_nvidia
363         - .cmake_test_linux_release
364         - .linux_x86_64_tags_cuda
365         - .run_dependent
366         - .needs_centos7_x86_64
367     variables:
368         CMAKE_CI_JOB_NIGHTLY: "true"
370 t:cuda12.2-nvidia:
371     extends:
372         - .cuda12.2_nvidia
373         - .cmake_test_linux_release
374         - .linux_x86_64_tags_cuda
375         - .cmake_junit_artifacts
376         - .run_dependent
377         - .needs_centos7_x86_64
379 t:cuda12.2-clang:
380     extends:
381         - .cuda12.2_clang
382         - .cmake_test_linux_release
383         - .linux_x86_64_tags_cuda
384         - .run_dependent
385         - .needs_centos7_x86_64
386     variables:
387         CMAKE_CI_JOB_NIGHTLY: "true"
389 t:hip5.5-nvidia:
390     extends:
391         - .hip5.5_nvidia
392         - .cmake_test_linux_release
393         - .linux_x86_64_tags_cuda
394         - .run_dependent
395         - .needs_centos7_x86_64
396     variables:
397         CMAKE_CI_JOB_NIGHTLY: "true"
399 t:hip5.5-radeon:
400     extends:
401         - .hip5.5_radeon
402         - .cmake_test_linux_release
403         - .linux_x86_64_tags_radeon
404         - .run_dependent
405         - .needs_centos7_x86_64
406     variables:
407         CMAKE_CI_JOB_NIGHTLY: "true"
409 t:debian10-legacy:
410     extends:
411         - .debian10_legacy
412         - .cmake_test_linux_release
413         - .linux_x86_64_tags
414         - .cmake_junit_artifacts
415         - .run_dependent
416         - .needs_centos7_x86_64
417     variables:
418         CMAKE_CI_JOB_NIGHTLY: "true"
420 b:fedora40-ninja:
421     extends:
422         - .fedora40_ninja
423         - .cmake_build_linux
424         - .cmake_build_artifacts
425         - .linux_x86_64_tags
426         - .run_manually
427     variables:
428         CMAKE_CI_JOB_CONTINUOUS: "true"
430 b:fedora40-makefiles-symlinked:
431     extends:
432         - .fedora40_makefiles_symlinked
433         - .cmake_build_linux
434         - .cmake_build_artifacts
435         - .linux_x86_64_tags
436         - .run_manually
437     variables:
438         CMAKE_CI_JOB_NIGHTLY: "true"
440 b:debian12-makefiles-inplace:
441     extends:
442         - .debian12_makefiles_inplace
443         - .cmake_build_linux_standalone
444         - .linux_x86_64_tags
445         - .run_manually
446     variables:
447         CMAKE_CI_JOB_NIGHTLY: "true"
449 b:debian12-extdeps:
450     extends:
451         - .debian12_extdeps
452         - .cmake_build_linux_standalone
453         - .linux_x86_64_tags
454         - .run_manually
455     variables:
456         CMAKE_CI_JOB_NIGHTLY: "true"
458 b:debian12-aarch64-extdeps:
459     extends:
460         - .debian12_aarch64_extdeps
461         - .cmake_build_linux_standalone
462         - .linux_aarch64_tags
463         - .run_manually
464     variables:
465         CMAKE_CI_JOB_NIGHTLY: "true"
467 b:fedora40-extdeps:
468     extends:
469         - .fedora40_extdeps
470         - .cmake_build_linux_standalone
471         - .linux_x86_64_tags
472         - .run_manually
473     variables:
474         CMAKE_CI_JOB_NIGHTLY: "true"
476 t:fedora40-ninja:
477     extends:
478         - .fedora40_ninja
479         - .cmake_test_linux
480         - .linux_x86_64_tags_x11
481         - .cmake_test_artifacts
482         - .run_dependent
483     dependencies:
484         - b:fedora40-ninja
485     needs:
486         - b:fedora40-ninja
487     variables:
488         CMAKE_CI_JOB_CONTINUOUS: "true"
490 t:fedora40-makefiles-symlinked:
491     extends:
492         - .fedora40_makefiles_symlinked
493         - .cmake_test_linux
494         - .linux_x86_64_tags_x11
495         - .cmake_test_artifacts
496         - .run_dependent
497     dependencies:
498         - b:fedora40-makefiles-symlinked
499     needs:
500         - b:fedora40-makefiles-symlinked
501     variables:
502         CMAKE_CI_JOB_NIGHTLY: "true"
504 t:fedora40-ninja-multi:
505     extends:
506         - .fedora40_ninja_multi
507         - .cmake_test_linux_external
508         - .linux_x86_64_tags
509         - .cmake_junit_artifacts
510         - .run_dependent
511     dependencies:
512         - t:fedora40-ninja
513     needs:
514         - t:fedora40-ninja
516 t:intel2016u2-makefiles:
517     extends:
518         - .cmake_test_linux_intelclassic_makefiles
519     variables:
520         CMAKE_CI_BUILD_NAME: intel2016u2_makefiles
521         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2016u2-el7
523 t:intel2017u8-makefiles:
524     extends:
525         - .cmake_test_linux_intelclassic_makefiles
526     variables:
527         CMAKE_CI_BUILD_NAME: intel2017u8_makefiles
528         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u8-el7
530 t:intel2018u4-makefiles:
531     extends:
532         - .cmake_test_linux_intelclassic_makefiles
533     variables:
534         CMAKE_CI_BUILD_NAME: intel2018u4_makefiles
535         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018u4-el7
537 t:intel2019u4-makefiles:
538     extends:
539         - .cmake_test_linux_intelclassic_makefiles
540     variables:
541         CMAKE_CI_BUILD_NAME: intel2019u4_makefiles
542         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019u4-el7
544 t:intel2020u4-makefiles:
545     extends:
546         - .cmake_test_linux_intelclassic_makefiles
547     variables:
548         CMAKE_CI_BUILD_NAME: intel2020u4_makefiles
549         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2020u4-el8
551 t:intel2021.1.1-makefiles:
552     extends:
553         - .cmake_test_linux_intelclassic_makefiles
554     variables:
555         CMAKE_CI_BUILD_NAME: intel2021.1.1_makefiles
556         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.1.1-el8
558 t:intel2021.1.2-makefiles:
559     extends:
560         - .cmake_test_linux_intelclassic_makefiles
561     variables:
562         CMAKE_CI_BUILD_NAME: intel2021.1.2_makefiles
563         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.1.2-el8
565 t:intel2021.2.0-makefiles:
566     extends:
567         - .cmake_test_linux_intelclassic_makefiles
568     variables:
569         CMAKE_CI_BUILD_NAME: intel2021.2.0_makefiles
570         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.2.0-el8
572 t:intel2021.3.0-makefiles:
573     extends:
574         - .cmake_test_linux_intelclassic_makefiles
575     variables:
576         CMAKE_CI_BUILD_NAME: intel2021.3.0_makefiles
577         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.3.0-el8
579 t:intel2021.4.0-makefiles:
580     extends:
581         - .cmake_test_linux_intelclassic_makefiles
582     variables:
583         CMAKE_CI_BUILD_NAME: intel2021.4.0_makefiles
584         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.4.0-el8
586 t:intel2021.5.0-makefiles:
587     extends:
588         - .cmake_test_linux_intelclassic_makefiles
589     variables:
590         CMAKE_CI_BUILD_NAME: intel2021.5.0_makefiles
591         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2022.0.2-el8
593 t:intel2021.6.0-makefiles:
594     extends:
595         - .cmake_test_linux_intelclassic_makefiles
596     variables:
597         CMAKE_CI_BUILD_NAME: intel2021.6.0_makefiles
598         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2022.1.0-el8
600 t:intel2021.7.0-makefiles:
601     extends:
602         - .cmake_test_linux_intelclassic_makefiles
603     variables:
604         CMAKE_CI_BUILD_NAME: intel2021.7.0_makefiles
605         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2022.2.0-el8
607 t:intel2021.8.0-makefiles:
608     extends:
609         - .cmake_test_linux_intelclassic_makefiles
610     variables:
611         CMAKE_CI_BUILD_NAME: intel2021.8.0_makefiles
612         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2023.0.0-el8
614 t:intel2021.9.0-makefiles:
615     extends:
616         - .cmake_test_linux_intelclassic_makefiles
617     variables:
618         CMAKE_CI_BUILD_NAME: intel2021.9.0_makefiles
619         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2023.1.0-el8
621 t:intel2021.10.0-makefiles:
622     extends:
623         - .cmake_test_linux_intelclassic_makefiles
624     variables:
625         CMAKE_CI_BUILD_NAME: intel2021.10.0_makefiles
626         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2023.2.1-el8
628 t:oneapi2021.1.1-makefiles:
629     extends:
630         - .cmake_test_linux_inteloneapi_makefiles
631     variables:
632         CMAKE_CI_BUILD_NAME: oneapi2021.1.1_makefiles
633         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.1.1-el8
635 t:oneapi2021.1.2-makefiles:
636     extends:
637         - .cmake_test_linux_inteloneapi_makefiles
638     variables:
639         CMAKE_CI_BUILD_NAME: oneapi2021.1.2_makefiles
640         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.1.2-el8
642 t:oneapi2021.2.0-makefiles:
643     extends:
644         - .cmake_test_linux_inteloneapi_makefiles
645     variables:
646         CMAKE_CI_BUILD_NAME: oneapi2021.2.0_makefiles
647         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.2.0-el8
649 t:oneapi2021.3.0-makefiles:
650     extends:
651         - .cmake_test_linux_inteloneapi_makefiles
652     variables:
653         CMAKE_CI_BUILD_NAME: oneapi2021.3.0_makefiles
654         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.3.0-el8
656 t:oneapi2021.4.0-makefiles:
657     extends:
658         - .cmake_test_linux_inteloneapi_makefiles
659     variables:
660         CMAKE_CI_BUILD_NAME: oneapi2021.4.0_makefiles
661         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.4.0-el8
663 t:oneapi2022.0.2-makefiles:
664     extends:
665         - .cmake_test_linux_inteloneapi_makefiles
666     variables:
667         CMAKE_CI_BUILD_NAME: oneapi2022.0.2_makefiles
668         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2022.0.2-el8
670 t:oneapi2022.1.0-makefiles:
671     extends:
672         - .cmake_test_linux_inteloneapi_makefiles
673     variables:
674         CMAKE_CI_BUILD_NAME: oneapi2022.1.0_makefiles
675         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2022.1.0-el8
677 t:oneapi2022.2.0-makefiles:
678     extends:
679         - .cmake_test_linux_inteloneapi_makefiles
680     variables:
681         CMAKE_CI_BUILD_NAME: oneapi2022.2.0_makefiles
682         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2022.2.0-el8
684 t:oneapi2023.0.0-makefiles:
685     extends:
686         - .cmake_test_linux_inteloneapi_makefiles
687     variables:
688         CMAKE_CI_BUILD_NAME: oneapi2023.0.0_makefiles
689         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2023.0.0-el8
691 t:oneapi2023.1.0-makefiles:
692     extends:
693         - .cmake_test_linux_inteloneapi_makefiles
694     variables:
695         CMAKE_CI_BUILD_NAME: oneapi2023.1.0_makefiles
696         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2023.1.0-el8
698 t:oneapi2023.2.0-makefiles:
699     extends:
700         - .cmake_test_linux_inteloneapi_makefiles
701     variables:
702         CMAKE_CI_BUILD_NAME: oneapi2023.2.1_makefiles
703         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2023.2.1-el8
705 t:oneapi2024.0.0-makefiles:
706     extends:
707         - .cmake_test_linux_inteloneapi_makefiles
708     variables:
709         CMAKE_CI_BUILD_NAME: oneapi2024.0.0_makefiles
710         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2024.0.0-el8
712 t:oneapi2024.1.0-makefiles:
713     extends:
714         - .cmake_test_linux_inteloneapi_makefiles
715     variables:
716         CMAKE_CI_BUILD_NAME: oneapi2024.1.0_makefiles
717         CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2024.1.0-el8
719 b:linux-x86_64-package:
720     extends:
721         - .linux_package
722         - .linux_release_x86_64
723         - .cmake_build_linux_release
724         - .cmake_release_artifacts
725         - .linux_x86_64_tags
726         - .run_only_for_package
727     dependencies:
728         - p:doc-package
729     needs:
730         - p:doc-package
731     variables:
732         CMAKE_CI_ARTIFACTS_NAME: "artifacts-linux-x86_64"
734 u:linux-x86_64-package:
735     extends:
736         - .rsync_upload_package
737         - .run_only_for_package
738     dependencies:
739         - b:linux-x86_64-package
740     needs:
741         - b:linux-x86_64-package
743 b:linux-aarch64-package:
744     extends:
745         - .linux_package
746         - .linux_release_aarch64
747         - .cmake_build_linux_release
748         - .cmake_release_artifacts
749         - .linux_aarch64_tags
750         - .run_only_for_package
751     dependencies:
752         - p:doc-package
753     needs:
754         - p:doc-package
755     variables:
756         CMAKE_CI_ARTIFACTS_NAME: "artifacts-linux-aarch64"
758 u:linux-aarch64-package:
759     extends:
760         - .rsync_upload_package
761         - .run_only_for_package
762     dependencies:
763         - b:linux-aarch64-package
764     needs:
765         - b:linux-aarch64-package
767 ## Sanitizer builds
769 b:fedora40-asan:
770     extends:
771         - .fedora40_asan
772         - .cmake_build_linux
773         - .cmake_build_artifacts
774         - .linux_x86_64_tags
775         - .run_manually
776     variables:
777         CMAKE_CI_JOB_NIGHTLY: "true"
779 t:fedora40-asan:
780     extends:
781         - .fedora40_asan
782         - .cmake_memcheck_linux
783         - .linux_x86_64_tags
784         - .run_dependent
785     dependencies:
786         - b:fedora40-asan
787     needs:
788         - b:fedora40-asan
789     variables:
790         CMAKE_CI_JOB_NIGHTLY: "true"
792 # macOS builds
794 b:macos-x86_64-ninja:
795     extends:
796         - .macos_x86_64_ninja
797         - .cmake_build_macos
798         - .cmake_build_artifacts
799         - .macos_x86_64_tags
800         - .run_manually
801     variables:
802         CMAKE_CI_NO_MR: "true"
804 b:macos-arm64-ninja:
805     extends:
806         - .macos_arm64_ninja
807         - .cmake_build_macos
808         - .cmake_build_artifacts
809         - .macos_arm64_tags
810         - .run_manually
811     variables:
812         CMAKE_CI_JOB_CONTINUOUS: "true"
814 b:macos-arm64-ninja-symlinked:
815     extends:
816         - .macos_arm64_ninja_symlinked
817         - .cmake_build_macos
818         - .cmake_build_artifacts
819         - .macos_arm64_tags
820         - .run_manually
821     variables:
822         CMAKE_CI_JOB_NIGHTLY: "true"
824 b:macos-arm64-pch:
825     extends:
826         - .macos_arm64_pch
827         - .cmake_build_macos
828         - .macos_arm64_tags
829         - .run_manually
830     variables:
831         CMAKE_CI_JOB_NIGHTLY: "true"
833 t:macos-x86_64-ninja:
834     extends:
835         - .macos_x86_64_ninja
836         - .cmake_test_macos
837         - .cmake_test_artifacts
838         - .macos_x86_64_tags
839         - .run_dependent
840     dependencies:
841         - b:macos-x86_64-ninja
842     needs:
843         - b:macos-x86_64-ninja
844     variables:
845         CMAKE_CI_NO_MR: "true"
847 t:macos-arm64-ninja:
848     extends:
849         - .macos_arm64_ninja
850         - .cmake_test_macos
851         - .cmake_test_artifacts
852         - .macos_arm64_tags
853         - .run_dependent
854     dependencies:
855         - b:macos-arm64-ninja
856     needs:
857         - b:macos-arm64-ninja
858     variables:
859         CMAKE_CI_JOB_CONTINUOUS: "true"
860         CMAKE_CI_JOB_NIGHTLY_NINJA: "true"
862 t:macos-arm64-ninja-symlinked:
863     extends:
864         - .macos_arm64_ninja_symlinked
865         - .cmake_test_macos
866         - .cmake_test_artifacts
867         - .macos_arm64_tags
868         - .run_dependent
869     dependencies:
870         - b:macos-arm64-ninja-symlinked
871     needs:
872         - b:macos-arm64-ninja-symlinked
873     variables:
874         CMAKE_CI_JOB_NIGHTLY: "true"
875         CMAKE_CI_JOB_NIGHTLY_NINJA: "true"
877 b:macos-x86_64-makefiles:
878     extends:
879         - .macos_x86_64_makefiles
880         - .cmake_build_macos
881         - .cmake_build_artifacts
882         - .macos_x86_64_tags
883         - .run_manually
885 t:macos-x86_64-makefiles:
886     extends:
887         - .macos_x86_64_makefiles
888         - .cmake_test_macos
889         - .macos_x86_64_tags
890         - .run_dependent
891     dependencies:
892         - b:macos-x86_64-makefiles
893     needs:
894         - b:macos-x86_64-makefiles
896 t:macos-arm64-ninja-multi:
897     extends:
898         - .macos_arm64_ninja_multi
899         - .cmake_test_macos_external
900         - .macos_arm64_tags_ext
901         - .cmake_junit_artifacts
902         - .run_dependent
903     dependencies:
904         - t:macos-arm64-ninja
905     needs:
906         - t:macos-arm64-ninja
907     variables:
908         CMAKE_CI_JOB_NIGHTLY: "true"
910 t:macos-x86_64-xcode:
911     extends:
912         - .macos_x86_64_xcode
913         - .cmake_test_macos_external
914         - .macos_x86_64_tags_ext
915         - .cmake_junit_artifacts
916         - .run_dependent
917     dependencies:
918         - t:macos-x86_64-ninja
919     needs:
920         - t:macos-x86_64-ninja
921     variables:
922         CMAKE_CI_NO_MR: "true"
924 t:macos-arm64-xcode:
925     extends:
926         - .macos_arm64_xcode
927         - .cmake_test_macos_external
928         - .macos_arm64_tags_ext
929         - .cmake_junit_artifacts
930         - .run_dependent
931     dependencies:
932         - t:macos-arm64-ninja
933     needs:
934         - t:macos-arm64-ninja
936 t:macos-arm64-xcode-symlinked:
937     extends:
938         - .macos_arm64_xcode_symlinked
939         - .cmake_test_macos_external
940         - .macos_arm64_tags_ext
941         - .cmake_junit_artifacts
942         - .run_dependent
943     dependencies:
944         - t:macos-arm64-ninja
945     needs:
946         - t:macos-arm64-ninja
947     variables:
948         CMAKE_CI_JOB_NIGHTLY: "true"
950 t:macos-x86_64-ninja-ub:
951     extends:
952         - .macos_x86_64_ninja_ub
953         - .cmake_test_macos_external
954         - .macos_x86_64_tags_ext
955         - .cmake_junit_artifacts
956         - .run_dependent
957     dependencies:
958         - t:macos-x86_64-ninja
959     needs:
960         - t:macos-x86_64-ninja
961     variables:
962         CMAKE_CI_JOB_NIGHTLY: "true"
964 t:macos-arm64-xcode-ub:
965     extends:
966         - .macos_arm64_xcode_ub
967         - .cmake_test_macos_external
968         - .macos_arm64_tags_ext
969         - .cmake_junit_artifacts
970         - .run_dependent
971     dependencies:
972         - t:macos-arm64-ninja
973     needs:
974         - t:macos-arm64-ninja
975     variables:
976         CMAKE_CI_JOB_NIGHTLY: "true"
978 b:macos-package:
979     extends:
980         - .macos_package
981         - .cmake_build_macos
982         - .cmake_release_artifacts
983         - .macos_arm64_tags_package
984         - .run_only_for_package
985     dependencies:
986         - p:doc-package
987     needs:
988         - p:doc-package
989     variables:
990         CMAKE_CI_ARTIFACTS_NAME: "artifacts-macos-universal"
992 u:macos-package:
993     extends:
994         - .rsync_upload_package
995         - .run_only_for_package
996     dependencies:
997         - b:macos-package
998     needs:
999         - b:macos-package
1001 b:macos10.10-package:
1002     extends:
1003         - .macos10.10_package
1004         - .cmake_build_macos
1005         - .cmake_release_artifacts
1006         - .macos_arm64_tags_package
1007         - .run_only_for_package
1008     dependencies:
1009         - p:doc-package
1010     needs:
1011         - p:doc-package
1012     variables:
1013         CMAKE_CI_ARTIFACTS_NAME: "artifacts-macos10.10-universal"
1015 u:macos10.10-package:
1016     extends:
1017         - .rsync_upload_package
1018         - .run_only_for_package
1019     dependencies:
1020         - b:macos10.10-package
1021     needs:
1022         - b:macos10.10-package
1024 # Windows x86_64 jobs
1026 b:windows-vs2022-x64-ninja:
1027     extends:
1028         - .windows_vs2022_x64_ninja
1029         - .cmake_build_windows
1030         - .cmake_build_artifacts
1031         - .windows_x86_64_tags_nonconcurrent_vs2022
1032         - .run_manually
1033     variables:
1034         CMAKE_CI_JOB_CONTINUOUS: "true"
1036 b:windows-vs2022-x64-pch:
1037     extends:
1038         - .windows_vs2022_x64_pch
1039         - .cmake_build_windows
1040         - .windows_x86_64_tags_nonconcurrent_vs2022
1041         - .run_manually
1042     variables:
1043         CMAKE_CI_JOB_NIGHTLY: "true"
1045 t:windows-vs2022-x64-ninja:
1046     extends:
1047         - .windows_vs2022_x64_ninja
1048         - .cmake_test_windows
1049         - .windows_x86_64_tags_nonconcurrent_vs2022
1050         - .cmake_test_artifacts
1051         - .run_dependent
1052     dependencies:
1053         - b:windows-vs2022-x64-ninja
1054     needs:
1055         - b:windows-vs2022-x64-ninja
1056     variables:
1057         CMAKE_CI_JOB_CONTINUOUS: "true"
1058         CMAKE_CI_JOB_NIGHTLY_NINJA: "true"
1060 t:windows-vs2022-x64-ninja-multi:
1061     extends:
1062         - .windows_vs2022_x64_ninja_multi
1063         - .cmake_test_windows_external
1064         - .windows_x86_64_tags_concurrent_vs2022
1065         - .cmake_junit_artifacts
1066         - .run_dependent
1067     dependencies:
1068         - t:windows-vs2022-x64-ninja
1069     needs:
1070         - t:windows-vs2022-x64-ninja
1071     variables:
1072         CMAKE_CI_JOB_NIGHTLY: "true"
1074 .t:windows-vs2022-x64:
1075     extends:
1076         - .windows_vs2022_x64
1077         - .cmake_test_windows_external
1078         - .cmake_junit_artifacts
1079         - .run_dependent
1080     dependencies:
1081         - t:windows-vs2022-x64-ninja
1082     needs:
1083         - t:windows-vs2022-x64-ninja
1085 t:windows-vs2022-x64:
1086     extends:
1087         - .t:windows-vs2022-x64
1088         - .windows_x86_64_tags_concurrent_vs2022
1089     variables:
1090         CMAKE_CI_JOB_NIGHTLY: "false"
1092 t:windows-vs2022-x64-nightly:
1093     extends:
1094         - .t:windows-vs2022-x64
1095         - .windows_x86_64_tags_concurrent_vs2022_android
1096     variables:
1097         CMAKE_CI_JOB_NIGHTLY: "true"
1099 t:windows-vs2019-x64:
1100     extends:
1101         - .windows_vs2019_x64
1102         - .cmake_test_windows_external
1103         - .windows_x86_64_tags_concurrent_vs2019_android
1104         - .cmake_junit_artifacts
1105         - .run_dependent
1106     dependencies:
1107         - t:windows-vs2022-x64-ninja
1108     needs:
1109         - t:windows-vs2022-x64-ninja
1110     variables:
1111         CMAKE_CI_JOB_NIGHTLY: "true"
1113 t:windows-vs2022-x64-nmake:
1114     extends:
1115         - .windows_vs2022_x64_nmake
1116         - .cmake_test_windows_external
1117         - .windows_x86_64_tags_concurrent_vs2022
1118         - .cmake_junit_artifacts
1119         - .run_dependent
1120     dependencies:
1121         - t:windows-vs2022-x64-ninja
1122     needs:
1123         - t:windows-vs2022-x64-ninja
1124     variables:
1125         CMAKE_CI_JOB_NIGHTLY: "true"
1127 t:windows-vs2022-x64-jom:
1128     extends:
1129         - .windows_vs2022_x64_jom
1130         - .cmake_test_windows_external
1131         - .windows_x86_64_tags_concurrent_vs2022
1132         - .cmake_junit_artifacts
1133         - .run_dependent
1134     dependencies:
1135         - t:windows-vs2022-x64-ninja
1136     needs:
1137         - t:windows-vs2022-x64-ninja
1138     variables:
1139         CMAKE_CI_JOB_NIGHTLY: "true"
1141 t:windows-borland5.5:
1142     extends:
1143         - .windows_borland5.5
1144         - .cmake_test_windows_external
1145         - .windows_x86_64_tags_concurrent
1146         - .cmake_junit_artifacts
1147         - .run_dependent
1148     dependencies:
1149         - t:windows-vs2022-x64-ninja
1150     needs:
1151         - t:windows-vs2022-x64-ninja
1152     variables:
1153         CMAKE_CI_JOB_NIGHTLY: "true"
1155 t:windows-borland5.8:
1156     extends:
1157         - .windows_borland5.8
1158         - .cmake_test_windows_external
1159         - .windows_x86_64_tags_concurrent
1160         - .cmake_junit_artifacts
1161         - .run_dependent
1162     dependencies:
1163         - t:windows-vs2022-x64-ninja
1164     needs:
1165         - t:windows-vs2022-x64-ninja
1166     variables:
1167         CMAKE_CI_JOB_NIGHTLY: "true"
1169 t:windows-clang17.0-cl-ninja:
1170     extends:
1171         - .windows_clang_ninja
1172         - .cmake_test_windows_external
1173         - .windows_x86_64_tags_concurrent
1174         - .cmake_junit_artifacts
1175         - .run_dependent
1176     dependencies:
1177         - t:windows-vs2022-x64-ninja
1178     needs:
1179         - t:windows-vs2022-x64-ninja
1180     variables:
1181         CMAKE_CI_BUILD_NAME: windows_clang17.0_cl_ninja
1182         CMAKE_CI_JOB_NIGHTLY: "true"
1184 t:windows-clang17.0-cl-nmake:
1185     extends:
1186         - .windows_clang_nmake
1187         - .cmake_test_windows_external
1188         - .windows_x86_64_tags_concurrent
1189         - .cmake_junit_artifacts
1190         - .run_dependent
1191     dependencies:
1192         - t:windows-vs2022-x64-ninja
1193     needs:
1194         - t:windows-vs2022-x64-ninja
1195     variables:
1196         CMAKE_CI_BUILD_NAME: windows_clang17.0_cl_nmake
1197         CMAKE_CI_JOB_NIGHTLY: "true"
1199 t:windows-clang17.0-gnu-ninja:
1200     extends:
1201         - .windows_clang_ninja
1202         - .cmake_test_windows_external
1203         - .windows_x86_64_tags_concurrent
1204         - .cmake_junit_artifacts
1205         - .run_dependent
1206     dependencies:
1207         - t:windows-vs2022-x64-ninja
1208     needs:
1209         - t:windows-vs2022-x64-ninja
1210     variables:
1211         CMAKE_CI_BUILD_NAME: windows_clang17.0_gnu_ninja
1212         CMAKE_CI_JOB_NIGHTLY: "true"
1214 t:windows-clang17.0-gnu-nmake:
1215     extends:
1216         - .windows_clang_nmake
1217         - .cmake_test_windows_external
1218         - .windows_x86_64_tags_concurrent
1219         - .cmake_junit_artifacts
1220         - .run_dependent
1221     dependencies:
1222         - t:windows-vs2022-x64-ninja
1223     needs:
1224         - t:windows-vs2022-x64-ninja
1225     variables:
1226         CMAKE_CI_BUILD_NAME: windows_clang17.0_gnu_nmake
1227         CMAKE_CI_JOB_NIGHTLY: "true"
1229 t:windows-intel2021.9.0-ninja:
1230     extends:
1231         - .windows_intelclassic_ninja
1232         - .cmake_test_windows_external
1233         - .windows_x86_64_tags_concurrent
1234         - .cmake_junit_artifacts
1235         - .run_dependent
1236     dependencies:
1237         - t:windows-vs2022-x64-ninja
1238     needs:
1239         - t:windows-vs2022-x64-ninja
1240     variables:
1241         CMAKE_CI_BUILD_NAME: windows_intel2021.9.0_ninja
1242         CMAKE_CI_JOB_NIGHTLY: "true"
1244 t:windows-oneapi2023.1.0-ninja:
1245     extends:
1246         - .windows_inteloneapi_ninja
1247         - .cmake_test_windows_external
1248         - .windows_x86_64_tags_concurrent
1249         - .cmake_junit_artifacts
1250         - .run_dependent
1251     dependencies:
1252         - t:windows-vs2022-x64-ninja
1253     needs:
1254         - t:windows-vs2022-x64-ninja
1255     variables:
1256         CMAKE_CI_BUILD_NAME: windows_oneapi2023.1.0_ninja
1257         CMAKE_CI_JOB_NIGHTLY: "true"
1259 t:mingw_osdn_io-mingw_makefiles:
1260     extends:
1261         - .mingw_osdn_io_mingw_makefiles
1262         - .cmake_test_windows_external
1263         - .windows_x86_64_tags_concurrent
1264         - .cmake_junit_artifacts
1265         - .run_dependent
1266     dependencies:
1267         - t:windows-vs2022-x64-ninja
1268     needs:
1269         - t:windows-vs2022-x64-ninja
1270     variables:
1271         CMAKE_CI_JOB_NIGHTLY: "true"
1273 t:mingw_osdn_io-msys_makefiles:
1274     extends:
1275         - .mingw_osdn_io_msys_makefiles
1276         - .cmake_test_windows_external
1277         - .windows_x86_64_tags_concurrent
1278         - .cmake_junit_artifacts
1279         - .run_dependent
1280     dependencies:
1281         - t:windows-vs2022-x64-ninja
1282     needs:
1283         - t:windows-vs2022-x64-ninja
1284     variables:
1285         CMAKE_CI_JOB_NIGHTLY: "true"
1287 t:windows-msvc-v71-nmake:
1288     extends:
1289         - .windows_msvc_v71_nmake
1290         - .cmake_test_windows_external
1291         - .windows_x86_64_tags_concurrent
1292         - .cmake_junit_artifacts
1293         - .run_dependent
1294     dependencies:
1295         - t:windows-vs2022-x64-ninja
1296     needs:
1297         - t:windows-vs2022-x64-ninja
1298     variables:
1299         CMAKE_CI_JOB_NIGHTLY: "true"
1301 t:windows-openwatcom1.9:
1302     extends:
1303         - .windows_openwatcom1.9
1304         - .cmake_test_windows_external
1305         - .windows_x86_64_tags_concurrent
1306         - .cmake_junit_artifacts
1307         - .run_dependent
1308     dependencies:
1309         - t:windows-vs2022-x64-ninja
1310     needs:
1311         - t:windows-vs2022-x64-ninja
1312     variables:
1313         CMAKE_CI_JOB_NIGHTLY: "true"
1315 t:windows-orangec6.73.1:
1316     extends:
1317         - .windows_orangec6.73.1
1318         - .cmake_test_windows_external
1319         - .windows_x86_64_tags_concurrent
1320         - .cmake_junit_artifacts
1321         - .run_dependent
1322     dependencies:
1323         - t:windows-vs2022-x64-ninja
1324     needs:
1325         - t:windows-vs2022-x64-ninja
1326     variables:
1327         CMAKE_CI_JOB_NIGHTLY: "true"
1329 # Windows arm64 jobs
1331 b:windows-arm64-vs2022-ninja:
1332     extends:
1333         - .windows_arm64_vs2022_ninja
1334         - .cmake_build_windows
1335         - .cmake_build_artifacts
1336         - .windows_arm64_tags_nonconcurrent_vs2022
1337         - .run_manually
1338     variables:
1339         CMAKE_CI_JOB_NIGHTLY: "true"
1341 t:windows-arm64-vs2022-ninja:
1342     extends:
1343         - .windows_arm64_vs2022_ninja
1344         - .cmake_test_windows
1345         - .windows_arm64_tags_nonconcurrent_vs2022
1346         - .cmake_test_artifacts
1347         - .run_dependent
1348     dependencies:
1349         - b:windows-arm64-vs2022-ninja
1350     needs:
1351         - b:windows-arm64-vs2022-ninja
1352     variables:
1353         CMAKE_CI_JOB_NIGHTLY: "true"
1355 t:windows-arm64-vs2022:
1356     extends:
1357         - .windows_arm64_vs2022
1358         - .cmake_test_windows_external
1359         - .windows_arm64_tags_concurrent_vs2022
1360         - .cmake_junit_artifacts
1361         - .run_dependent
1362     dependencies:
1363         - t:windows-arm64-vs2022-ninja
1364     needs:
1365         - t:windows-arm64-vs2022-ninja
1366     variables:
1367         CMAKE_CI_JOB_NIGHTLY: "true"
1369 # Windows package jobs
1371 b:windows-x86_64-package:
1372     extends:
1373         - .windows_x86_64_package
1374         - .cmake_build_windows
1375         - .cmake_release_artifacts
1376         - .windows_x86_64_tags_nonconcurrent_vs2022
1377         - .run_only_for_package
1378     dependencies:
1379         - p:doc-package
1380     needs:
1381         - p:doc-package
1382     variables:
1383         CMAKE_CI_ARTIFACTS_NAME: "artifacts-windows-x86_64"
1385 u:windows-x86_64-package:
1386     extends:
1387         - .rsync_upload_package
1388         - .run_only_for_package
1389     dependencies:
1390         - b:windows-x86_64-package
1391     needs:
1392         - b:windows-x86_64-package
1394 b:windows-i386-package:
1395     extends:
1396         - .windows_i386_package
1397         - .cmake_build_windows
1398         - .cmake_release_artifacts
1399         - .windows_x86_64_tags_nonconcurrent_vs2022
1400         - .run_only_for_package
1401     dependencies:
1402         - p:doc-package
1403     needs:
1404         - p:doc-package
1405     variables:
1406         CMAKE_CI_ARTIFACTS_NAME: "artifacts-windows-i386"
1408 u:windows-i386-package:
1409     extends:
1410         - .rsync_upload_package
1411         - .run_only_for_package
1412     dependencies:
1413         - b:windows-i386-package
1414     needs:
1415         - b:windows-i386-package
1417 b:windows-arm64-package:
1418     extends:
1419         - .windows_arm64_package
1420         - .cmake_build_windows
1421         - .cmake_release_artifacts
1422         - .windows_x86_64_tags_nonconcurrent_vs2022_arm64
1423         - .run_only_for_package
1424     dependencies:
1425         - p:doc-package
1426     needs:
1427         - p:doc-package
1428     variables:
1429         CMAKE_CI_ARTIFACTS_NAME: "artifacts-windows-arm64"
1431 u:windows-arm64-package:
1432     extends:
1433         - .rsync_upload_package
1434         - .run_only_for_package
1435     dependencies:
1436         - b:windows-arm64-package
1437     needs:
1438         - b:windows-arm64-package