CMake Nightly Date Stamp
[kiteware-cmake.git] / .gitlab-ci.yml
blobd52beda8f247ef330b6afb0e46d95fa85bcb7f60
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-curl:
825     extends:
826         - .macos_arm64_curl
827         - .cmake_build_macos
828         - .cmake_build_artifacts
829         - .macos_arm64_tags
830         - .run_manually
831     variables:
832         CMAKE_CI_JOB_NIGHTLY: "true"
834 b:macos-arm64-pch:
835     extends:
836         - .macos_arm64_pch
837         - .cmake_build_macos
838         - .macos_arm64_tags
839         - .run_manually
840     variables:
841         CMAKE_CI_JOB_NIGHTLY: "true"
843 t:macos-x86_64-ninja:
844     extends:
845         - .macos_x86_64_ninja
846         - .cmake_test_macos
847         - .cmake_test_artifacts
848         - .macos_x86_64_tags
849         - .run_dependent
850     dependencies:
851         - b:macos-x86_64-ninja
852     needs:
853         - b:macos-x86_64-ninja
854     variables:
855         CMAKE_CI_NO_MR: "true"
857 t:macos-arm64-ninja:
858     extends:
859         - .macos_arm64_ninja
860         - .cmake_test_macos
861         - .cmake_test_artifacts
862         - .macos_arm64_tags
863         - .run_dependent
864     dependencies:
865         - b:macos-arm64-ninja
866     needs:
867         - b:macos-arm64-ninja
868     variables:
869         CMAKE_CI_JOB_CONTINUOUS: "true"
870         CMAKE_CI_JOB_NIGHTLY_NINJA: "true"
872 t:macos-arm64-ninja-symlinked:
873     extends:
874         - .macos_arm64_ninja_symlinked
875         - .cmake_test_macos
876         - .cmake_test_artifacts
877         - .macos_arm64_tags
878         - .run_dependent
879     dependencies:
880         - b:macos-arm64-ninja-symlinked
881     needs:
882         - b:macos-arm64-ninja-symlinked
883     variables:
884         CMAKE_CI_JOB_NIGHTLY: "true"
885         CMAKE_CI_JOB_NIGHTLY_NINJA: "true"
887 t:macos-arm64-curl:
888     extends:
889         - .macos_arm64_curl
890         - .cmake_test_macos
891         - .macos_arm64_tags
892         - .run_dependent
893     dependencies:
894         - b:macos-arm64-curl
895     needs:
896         - b:macos-arm64-curl
897     variables:
898         CMAKE_CI_JOB_NIGHTLY: "true"
900 b:macos-x86_64-makefiles:
901     extends:
902         - .macos_x86_64_makefiles
903         - .cmake_build_macos
904         - .cmake_build_artifacts
905         - .macos_x86_64_tags
906         - .run_manually
908 t:macos-x86_64-makefiles:
909     extends:
910         - .macos_x86_64_makefiles
911         - .cmake_test_macos
912         - .macos_x86_64_tags
913         - .run_dependent
914     dependencies:
915         - b:macos-x86_64-makefiles
916     needs:
917         - b:macos-x86_64-makefiles
919 t:macos-arm64-ninja-multi:
920     extends:
921         - .macos_arm64_ninja_multi
922         - .cmake_test_macos_external
923         - .macos_arm64_tags_ext
924         - .cmake_junit_artifacts
925         - .run_dependent
926     dependencies:
927         - t:macos-arm64-ninja
928     needs:
929         - t:macos-arm64-ninja
930     variables:
931         CMAKE_CI_JOB_NIGHTLY: "true"
933 t:macos-x86_64-xcode:
934     extends:
935         - .macos_x86_64_xcode
936         - .cmake_test_macos_external
937         - .macos_x86_64_tags_ext
938         - .cmake_junit_artifacts
939         - .run_dependent
940     dependencies:
941         - t:macos-x86_64-ninja
942     needs:
943         - t:macos-x86_64-ninja
944     variables:
945         CMAKE_CI_NO_MR: "true"
947 t:macos-arm64-xcode:
948     extends:
949         - .macos_arm64_xcode
950         - .cmake_test_macos_external
951         - .macos_arm64_tags_ext
952         - .cmake_junit_artifacts
953         - .run_dependent
954     dependencies:
955         - t:macos-arm64-ninja
956     needs:
957         - t:macos-arm64-ninja
959 t:macos-arm64-xcode-symlinked:
960     extends:
961         - .macos_arm64_xcode_symlinked
962         - .cmake_test_macos_external
963         - .macos_arm64_tags_ext
964         - .cmake_junit_artifacts
965         - .run_dependent
966     dependencies:
967         - t:macos-arm64-ninja
968     needs:
969         - t:macos-arm64-ninja
970     variables:
971         CMAKE_CI_JOB_NIGHTLY: "true"
973 t:macos-x86_64-ninja-ub:
974     extends:
975         - .macos_x86_64_ninja_ub
976         - .cmake_test_macos_external
977         - .macos_x86_64_tags_ext
978         - .cmake_junit_artifacts
979         - .run_dependent
980     dependencies:
981         - t:macos-x86_64-ninja
982     needs:
983         - t:macos-x86_64-ninja
984     variables:
985         CMAKE_CI_JOB_NIGHTLY: "true"
987 t:macos-arm64-xcode-ub:
988     extends:
989         - .macos_arm64_xcode_ub
990         - .cmake_test_macos_external
991         - .macos_arm64_tags_ext
992         - .cmake_junit_artifacts
993         - .run_dependent
994     dependencies:
995         - t:macos-arm64-ninja
996     needs:
997         - t:macos-arm64-ninja
998     variables:
999         CMAKE_CI_JOB_NIGHTLY: "true"
1001 b:macos-package:
1002     extends:
1003         - .macos_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-macos-universal"
1015 u:macos-package:
1016     extends:
1017         - .rsync_upload_package
1018         - .run_only_for_package
1019     dependencies:
1020         - b:macos-package
1021     needs:
1022         - b:macos-package
1024 b:macos10.10-package:
1025     extends:
1026         - .macos10.10_package
1027         - .cmake_build_macos
1028         - .cmake_release_artifacts
1029         - .macos_arm64_tags_package
1030         - .run_only_for_package
1031     dependencies:
1032         - p:doc-package
1033     needs:
1034         - p:doc-package
1035     variables:
1036         CMAKE_CI_ARTIFACTS_NAME: "artifacts-macos10.10-universal"
1038 u:macos10.10-package:
1039     extends:
1040         - .rsync_upload_package
1041         - .run_only_for_package
1042     dependencies:
1043         - b:macos10.10-package
1044     needs:
1045         - b:macos10.10-package
1047 # Windows x86_64 jobs
1049 b:windows-vs2022-x64-ninja:
1050     extends:
1051         - .windows_vs2022_x64_ninja
1052         - .cmake_build_windows
1053         - .cmake_build_artifacts
1054         - .windows_x86_64_tags_nonconcurrent_vs2022
1055         - .run_manually
1056     variables:
1057         CMAKE_CI_JOB_CONTINUOUS: "true"
1059 b:windows-vs2022-x64-pch:
1060     extends:
1061         - .windows_vs2022_x64_pch
1062         - .cmake_build_windows
1063         - .windows_x86_64_tags_nonconcurrent_vs2022
1064         - .run_manually
1065     variables:
1066         CMAKE_CI_JOB_NIGHTLY: "true"
1068 t:windows-vs2022-x64-ninja:
1069     extends:
1070         - .windows_vs2022_x64_ninja
1071         - .cmake_test_windows
1072         - .windows_x86_64_tags_nonconcurrent_vs2022
1073         - .cmake_test_artifacts
1074         - .run_dependent
1075     dependencies:
1076         - b:windows-vs2022-x64-ninja
1077     needs:
1078         - b:windows-vs2022-x64-ninja
1079     variables:
1080         CMAKE_CI_JOB_CONTINUOUS: "true"
1081         CMAKE_CI_JOB_NIGHTLY_NINJA: "true"
1083 t:windows-vs2022-x64-ninja-multi:
1084     extends:
1085         - .windows_vs2022_x64_ninja_multi
1086         - .cmake_test_windows_external
1087         - .windows_x86_64_tags_concurrent_vs2022
1088         - .cmake_junit_artifacts
1089         - .run_dependent
1090     dependencies:
1091         - t:windows-vs2022-x64-ninja
1092     needs:
1093         - t:windows-vs2022-x64-ninja
1094     variables:
1095         CMAKE_CI_JOB_NIGHTLY: "true"
1097 .t:windows-vs2022-x64:
1098     extends:
1099         - .windows_vs2022_x64
1100         - .cmake_test_windows_external
1101         - .cmake_junit_artifacts
1102         - .run_dependent
1103     dependencies:
1104         - t:windows-vs2022-x64-ninja
1105     needs:
1106         - t:windows-vs2022-x64-ninja
1108 t:windows-vs2022-x64:
1109     extends:
1110         - .t:windows-vs2022-x64
1111         - .windows_x86_64_tags_concurrent_vs2022
1112     variables:
1113         CMAKE_CI_JOB_NIGHTLY: "false"
1115 t:windows-vs2022-x64-nightly:
1116     extends:
1117         - .t:windows-vs2022-x64
1118         - .windows_x86_64_tags_concurrent_vs2022_android
1119     variables:
1120         CMAKE_CI_JOB_NIGHTLY: "true"
1122 t:windows-vs2019-x64:
1123     extends:
1124         - .windows_vs2019_x64
1125         - .cmake_test_windows_external
1126         - .windows_x86_64_tags_concurrent_vs2019_android
1127         - .cmake_junit_artifacts
1128         - .run_dependent
1129     dependencies:
1130         - t:windows-vs2022-x64-ninja
1131     needs:
1132         - t:windows-vs2022-x64-ninja
1133     variables:
1134         CMAKE_CI_JOB_NIGHTLY: "true"
1136 t:windows-vs2022-x64-nmake:
1137     extends:
1138         - .windows_vs2022_x64_nmake
1139         - .cmake_test_windows_external
1140         - .windows_x86_64_tags_concurrent_vs2022
1141         - .cmake_junit_artifacts
1142         - .run_dependent
1143     dependencies:
1144         - t:windows-vs2022-x64-ninja
1145     needs:
1146         - t:windows-vs2022-x64-ninja
1147     variables:
1148         CMAKE_CI_JOB_NIGHTLY: "true"
1150 t:windows-vs2022-x64-jom:
1151     extends:
1152         - .windows_vs2022_x64_jom
1153         - .cmake_test_windows_external
1154         - .windows_x86_64_tags_concurrent_vs2022
1155         - .cmake_junit_artifacts
1156         - .run_dependent
1157     dependencies:
1158         - t:windows-vs2022-x64-ninja
1159     needs:
1160         - t:windows-vs2022-x64-ninja
1161     variables:
1162         CMAKE_CI_JOB_NIGHTLY: "true"
1164 t:windows-borland5.5:
1165     extends:
1166         - .windows_borland5.5
1167         - .cmake_test_windows_external
1168         - .windows_x86_64_tags_concurrent
1169         - .cmake_junit_artifacts
1170         - .run_dependent
1171     dependencies:
1172         - t:windows-vs2022-x64-ninja
1173     needs:
1174         - t:windows-vs2022-x64-ninja
1175     variables:
1176         CMAKE_CI_JOB_NIGHTLY: "true"
1178 t:windows-borland5.8:
1179     extends:
1180         - .windows_borland5.8
1181         - .cmake_test_windows_external
1182         - .windows_x86_64_tags_concurrent
1183         - .cmake_junit_artifacts
1184         - .run_dependent
1185     dependencies:
1186         - t:windows-vs2022-x64-ninja
1187     needs:
1188         - t:windows-vs2022-x64-ninja
1189     variables:
1190         CMAKE_CI_JOB_NIGHTLY: "true"
1192 t:windows-clang17.0-cl-ninja:
1193     extends:
1194         - .windows_clang_ninja
1195         - .cmake_test_windows_external
1196         - .windows_x86_64_tags_concurrent
1197         - .cmake_junit_artifacts
1198         - .run_dependent
1199     dependencies:
1200         - t:windows-vs2022-x64-ninja
1201     needs:
1202         - t:windows-vs2022-x64-ninja
1203     variables:
1204         CMAKE_CI_BUILD_NAME: windows_clang17.0_cl_ninja
1205         CMAKE_CI_JOB_NIGHTLY: "true"
1207 t:windows-clang17.0-cl-nmake:
1208     extends:
1209         - .windows_clang_nmake
1210         - .cmake_test_windows_external
1211         - .windows_x86_64_tags_concurrent
1212         - .cmake_junit_artifacts
1213         - .run_dependent
1214     dependencies:
1215         - t:windows-vs2022-x64-ninja
1216     needs:
1217         - t:windows-vs2022-x64-ninja
1218     variables:
1219         CMAKE_CI_BUILD_NAME: windows_clang17.0_cl_nmake
1220         CMAKE_CI_JOB_NIGHTLY: "true"
1222 t:windows-clang17.0-gnu-ninja:
1223     extends:
1224         - .windows_clang_ninja
1225         - .cmake_test_windows_external
1226         - .windows_x86_64_tags_concurrent
1227         - .cmake_junit_artifacts
1228         - .run_dependent
1229     dependencies:
1230         - t:windows-vs2022-x64-ninja
1231     needs:
1232         - t:windows-vs2022-x64-ninja
1233     variables:
1234         CMAKE_CI_BUILD_NAME: windows_clang17.0_gnu_ninja
1235         CMAKE_CI_JOB_NIGHTLY: "true"
1237 t:windows-clang17.0-gnu-nmake:
1238     extends:
1239         - .windows_clang_nmake
1240         - .cmake_test_windows_external
1241         - .windows_x86_64_tags_concurrent
1242         - .cmake_junit_artifacts
1243         - .run_dependent
1244     dependencies:
1245         - t:windows-vs2022-x64-ninja
1246     needs:
1247         - t:windows-vs2022-x64-ninja
1248     variables:
1249         CMAKE_CI_BUILD_NAME: windows_clang17.0_gnu_nmake
1250         CMAKE_CI_JOB_NIGHTLY: "true"
1252 t:windows-intel2021.9.0-ninja:
1253     extends:
1254         - .windows_intelclassic_ninja
1255         - .cmake_test_windows_external
1256         - .windows_x86_64_tags_concurrent_vs2022
1257         - .cmake_junit_artifacts
1258         - .run_dependent
1259     dependencies:
1260         - t:windows-vs2022-x64-ninja
1261     needs:
1262         - t:windows-vs2022-x64-ninja
1263     variables:
1264         CMAKE_CI_BUILD_NAME: windows_intel2021.9.0_ninja
1265         CMAKE_CI_JOB_NIGHTLY: "true"
1267 t:windows-oneapi2024.1.0-ninja:
1268     extends:
1269         - .windows_inteloneapi_ninja
1270         - .cmake_test_windows_external
1271         - .windows_x86_64_tags_concurrent_vs2022
1272         - .cmake_junit_artifacts
1273         - .run_dependent
1274     dependencies:
1275         - t:windows-vs2022-x64-ninja
1276     needs:
1277         - t:windows-vs2022-x64-ninja
1278     variables:
1279         CMAKE_CI_BUILD_NAME: windows_oneapi2024.1.0_ninja
1280         CMAKE_CI_JOB_NIGHTLY: "true"
1282 t:mingw_osdn_io-mingw_makefiles:
1283     extends:
1284         - .mingw_osdn_io_mingw_makefiles
1285         - .cmake_test_windows_external
1286         - .windows_x86_64_tags_concurrent
1287         - .cmake_junit_artifacts
1288         - .run_dependent
1289     dependencies:
1290         - t:windows-vs2022-x64-ninja
1291     needs:
1292         - t:windows-vs2022-x64-ninja
1293     variables:
1294         CMAKE_CI_JOB_NIGHTLY: "true"
1296 t:mingw_osdn_io-msys_makefiles:
1297     extends:
1298         - .mingw_osdn_io_msys_makefiles
1299         - .cmake_test_windows_external
1300         - .windows_x86_64_tags_concurrent
1301         - .cmake_junit_artifacts
1302         - .run_dependent
1303     dependencies:
1304         - t:windows-vs2022-x64-ninja
1305     needs:
1306         - t:windows-vs2022-x64-ninja
1307     variables:
1308         CMAKE_CI_JOB_NIGHTLY: "true"
1310 t:windows-msvc-v71-nmake:
1311     extends:
1312         - .windows_msvc_v71_nmake
1313         - .cmake_test_windows_external
1314         - .windows_x86_64_tags_concurrent
1315         - .cmake_junit_artifacts
1316         - .run_dependent
1317     dependencies:
1318         - t:windows-vs2022-x64-ninja
1319     needs:
1320         - t:windows-vs2022-x64-ninja
1321     variables:
1322         CMAKE_CI_JOB_NIGHTLY: "true"
1324 t:windows-openwatcom1.9:
1325     extends:
1326         - .windows_openwatcom1.9
1327         - .cmake_test_windows_external
1328         - .windows_x86_64_tags_concurrent
1329         - .cmake_junit_artifacts
1330         - .run_dependent
1331     dependencies:
1332         - t:windows-vs2022-x64-ninja
1333     needs:
1334         - t:windows-vs2022-x64-ninja
1335     variables:
1336         CMAKE_CI_JOB_NIGHTLY: "true"
1338 t:windows-orangec6.73.1:
1339     extends:
1340         - .windows_orangec6.73.1
1341         - .cmake_test_windows_external
1342         - .windows_x86_64_tags_concurrent
1343         - .cmake_junit_artifacts
1344         - .run_dependent
1345     dependencies:
1346         - t:windows-vs2022-x64-ninja
1347     needs:
1348         - t:windows-vs2022-x64-ninja
1349     variables:
1350         CMAKE_CI_JOB_NIGHTLY: "true"
1352 # Windows arm64 jobs
1354 b:windows-arm64-vs2022-ninja:
1355     extends:
1356         - .windows_arm64_vs2022_ninja
1357         - .cmake_build_windows
1358         - .cmake_build_artifacts
1359         - .windows_arm64_tags_nonconcurrent_vs2022
1360         - .run_manually
1361     variables:
1362         CMAKE_CI_JOB_NIGHTLY: "true"
1364 t:windows-arm64-vs2022-ninja:
1365     extends:
1366         - .windows_arm64_vs2022_ninja
1367         - .cmake_test_windows
1368         - .windows_arm64_tags_nonconcurrent_vs2022
1369         - .cmake_test_artifacts
1370         - .run_dependent
1371     dependencies:
1372         - b:windows-arm64-vs2022-ninja
1373     needs:
1374         - b:windows-arm64-vs2022-ninja
1375     variables:
1376         CMAKE_CI_JOB_NIGHTLY: "true"
1378 t:windows-arm64-vs2022:
1379     extends:
1380         - .windows_arm64_vs2022
1381         - .cmake_test_windows_external
1382         - .windows_arm64_tags_concurrent_vs2022
1383         - .cmake_junit_artifacts
1384         - .run_dependent
1385     dependencies:
1386         - t:windows-arm64-vs2022-ninja
1387     needs:
1388         - t:windows-arm64-vs2022-ninja
1389     variables:
1390         CMAKE_CI_JOB_NIGHTLY: "true"
1392 # Windows package jobs
1394 b:windows-x86_64-package:
1395     extends:
1396         - .windows_x86_64_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-x86_64"
1408 u:windows-x86_64-package:
1409     extends:
1410         - .rsync_upload_package
1411         - .run_only_for_package
1412     dependencies:
1413         - b:windows-x86_64-package
1414     needs:
1415         - b:windows-x86_64-package
1417 b:windows-i386-package:
1418     extends:
1419         - .windows_i386_package
1420         - .cmake_build_windows
1421         - .cmake_release_artifacts
1422         - .windows_x86_64_tags_nonconcurrent_vs2022
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-i386"
1431 u:windows-i386-package:
1432     extends:
1433         - .rsync_upload_package
1434         - .run_only_for_package
1435     dependencies:
1436         - b:windows-i386-package
1437     needs:
1438         - b:windows-i386-package
1440 b:windows-arm64-package:
1441     extends:
1442         - .windows_arm64_package
1443         - .cmake_build_windows
1444         - .cmake_release_artifacts
1445         - .windows_x86_64_tags_nonconcurrent_vs2022_arm64
1446         - .run_only_for_package
1447     dependencies:
1448         - p:doc-package
1449     needs:
1450         - p:doc-package
1451     variables:
1452         CMAKE_CI_ARTIFACTS_NAME: "artifacts-windows-arm64"
1454 u:windows-arm64-package:
1455     extends:
1456         - .rsync_upload_package
1457         - .run_only_for_package
1458     dependencies:
1459         - b:windows-arm64-package
1460     needs:
1461         - b:windows-arm64-package