os-linux.yml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718
  1. # Linux-specific builder configurations and build commands
  2. ## Base images
  3. ### Release
  4. .linux_prep_source:
  5. image: "fedora:41"
  6. variables:
  7. GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
  8. .linux_release_x86_64:
  9. image: "kitware/cmake:build-linux-x86_64-deps-2023-08-16@sha256:aa0ebdbd90a51cc83d31f393c5c48ec4599a28f7ccdc288558522c6265b24fae"
  10. variables:
  11. GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
  12. LAUNCHER: "scl enable devtoolset-7 --"
  13. CMAKE_ARCH: x86_64
  14. .linux_release_aarch64:
  15. image: "kitware/cmake:build-linux-aarch64-deps-2020-12-21@sha256:0bd7dfe4e45593b04e39cd21e44011034610cfd376900558c5ef959bb1af15af"
  16. variables:
  17. GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
  18. LAUNCHER: "scl enable devtoolset-7 --"
  19. CMAKE_ARCH: aarch64
  20. .linux_package:
  21. variables:
  22. BOOTSTRAP_ARGS: '-- "-DCMake_DOC_ARTIFACT_PREFIX=$CI_PROJECT_DIR/build/install-doc"'
  23. .needs_centos7_x86_64:
  24. needs:
  25. - b:centos7-x86_64
  26. .needs_centos7_aarch64:
  27. needs:
  28. - b:centos7-aarch64
  29. ### Debian
  30. .debian12:
  31. image: "kitware/cmake:ci-debian12-x86_64-2024-08-27"
  32. variables:
  33. GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
  34. CMAKE_ARCH: x86_64
  35. .debian12_iwyu:
  36. extends: .debian12
  37. variables:
  38. CMAKE_CONFIGURATION: debian12_iwyu
  39. CTEST_NO_WARNINGS_ALLOWED: 1
  40. CMAKE_CI_NO_INSTALL: 1
  41. .debian12_aarch64:
  42. image: "kitware/cmake:ci-debian12-aarch64-2023-07-27"
  43. variables:
  44. GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
  45. CMAKE_ARCH: aarch64
  46. ### Fedora
  47. .fedora41:
  48. image: "kitware/cmake:ci-fedora41-x86_64-2024-11-11"
  49. variables:
  50. GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes"
  51. CMAKE_ARCH: x86_64
  52. .fedora41_hip:
  53. image: "kitware/cmake:ci-fedora41-hip-x86_64-2024-12-02"
  54. variables:
  55. # FIXME(rocclr): device modules fail loading from binaries in paths with spaces
  56. GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci"
  57. CMAKE_ARCH: x86_64
  58. #### Lint builds
  59. .fedora41_tidy:
  60. extends: .fedora41
  61. variables:
  62. CMAKE_CONFIGURATION: fedora41_tidy
  63. CMAKE_CI_NO_INSTALL: 1
  64. .fedora41_clang_analyzer:
  65. extends: .fedora41
  66. variables:
  67. CMAKE_CONFIGURATION: fedora41_clang_analyzer
  68. CMAKE_CI_BUILD_TYPE: Debug
  69. CTEST_NO_WARNINGS_ALLOWED: 1
  70. CMAKE_CI_NO_INSTALL: 1
  71. .fedora41_sphinx:
  72. extends: .fedora41
  73. variables:
  74. CMAKE_CONFIGURATION: fedora41_sphinx
  75. CTEST_NO_WARNINGS_ALLOWED: 1
  76. CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"
  77. CMAKE_CI_NO_INSTALL: 1
  78. .fedora41_sphinx_package:
  79. extends: .fedora41
  80. variables:
  81. CMAKE_CONFIGURATION: fedora41_sphinx_package
  82. CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx"
  83. #### Build and test
  84. .debian12_ninja:
  85. extends: .debian12
  86. variables:
  87. CMAKE_CONFIGURATION: debian12_ninja
  88. CTEST_NO_WARNINGS_ALLOWED: 1
  89. .debian12_aarch64_ninja:
  90. extends: .debian12_aarch64
  91. variables:
  92. CMAKE_CONFIGURATION: debian12_aarch64_ninja
  93. CTEST_NO_WARNINGS_ALLOWED: 1
  94. .debian12_makefiles_inplace:
  95. extends: .debian12
  96. variables:
  97. CMAKE_CONFIGURATION: debian12_makefiles_inplace
  98. CMAKE_GENERATOR: "Unix Makefiles"
  99. CMAKE_CI_BOOTSTRAP: 1
  100. CMAKE_CI_INPLACE: 1
  101. CMAKE_CI_NO_INSTALL: 1
  102. CTEST_NO_WARNINGS_ALLOWED: 1
  103. .debian12_ninja_multi_symlinked:
  104. extends: .debian12
  105. variables:
  106. CMAKE_CONFIGURATION: debian12_ninja_multi_symlinked
  107. CMAKE_GENERATOR: "Ninja Multi-Config"
  108. CTEST_NO_WARNINGS_ALLOWED: 1
  109. CMAKE_CI_IN_SYMLINK_TREE: 1
  110. CMAKE_CI_BUILD_DIR: "real_work/work/build"
  111. .debian12_extdeps:
  112. extends: .debian12
  113. variables:
  114. CMAKE_CONFIGURATION: debian12_extdeps
  115. CMAKE_CI_BUILD_TYPE: Release
  116. CTEST_NO_WARNINGS_ALLOWED: 1
  117. .debian12_aarch64_extdeps:
  118. extends: .debian12_aarch64
  119. variables:
  120. CMAKE_CONFIGURATION: debian12_aarch64_extdeps
  121. CMAKE_CI_BUILD_TYPE: Release
  122. CTEST_NO_WARNINGS_ALLOWED: 1
  123. .fedora41_extdeps:
  124. extends: .fedora41
  125. variables:
  126. CMAKE_CONFIGURATION: fedora41_extdeps
  127. CMAKE_CI_BUILD_TYPE: Release
  128. CTEST_NO_WARNINGS_ALLOWED: 1
  129. .fedora41_ninja:
  130. extends: .fedora41
  131. variables:
  132. CMAKE_CONFIGURATION: fedora41_ninja
  133. CMAKE_CI_BUILD_TYPE: Release
  134. CTEST_NO_WARNINGS_ALLOWED: 1
  135. .fedora41_ninja_multi:
  136. extends: .fedora41
  137. variables:
  138. CMAKE_CONFIGURATION: fedora41_ninja_multi
  139. CTEST_NO_WARNINGS_ALLOWED: 1
  140. CMAKE_GENERATOR: "Ninja Multi-Config"
  141. .fedora41_makefiles:
  142. extends: .fedora41
  143. variables:
  144. CMAKE_CONFIGURATION: fedora41_makefiles
  145. CTEST_NO_WARNINGS_ALLOWED: 1
  146. CMAKE_GENERATOR: "Unix Makefiles"
  147. .fedora41_makefiles_symlinked:
  148. extends: .fedora41
  149. variables:
  150. CMAKE_CONFIGURATION: fedora41_makefiles_symlinked
  151. CTEST_NO_WARNINGS_ALLOWED: 1
  152. CMAKE_GENERATOR: "Unix Makefiles"
  153. CMAKE_CI_IN_SYMLINK_TREE: 1
  154. CMAKE_CI_BUILD_DIR: "real_work/work/build"
  155. ### Clang Compiler
  156. .debian12_makefiles_clang:
  157. extends: .debian12
  158. variables:
  159. CMAKE_CONFIGURATION: debian12_makefiles_clang
  160. CMAKE_GENERATOR: "Unix Makefiles"
  161. .debian12_ninja_clang:
  162. extends: .debian12
  163. variables:
  164. CMAKE_CONFIGURATION: debian12_ninja_clang
  165. .fedora41_makefiles_clang:
  166. extends: .fedora41
  167. variables:
  168. CMAKE_CONFIGURATION: fedora41_makefiles_clang
  169. CMAKE_GENERATOR: "Unix Makefiles"
  170. .fedora41_makefiles_lfortran:
  171. extends: .fedora41
  172. variables:
  173. # FIXME(lfortran): -rpath flags with spaces not forwarded
  174. GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci"
  175. CMAKE_CONFIGURATION: fedora41_makefiles_lfortran
  176. CMAKE_GENERATOR: "Unix Makefiles"
  177. CTEST_LABELS: "Fortran"
  178. .fedora41_ninja_lfortran:
  179. extends: .fedora41
  180. variables:
  181. # FIXME(lfortran): -rpath flags with spaces not forwarded
  182. GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci"
  183. CMAKE_CONFIGURATION: fedora41_ninja_lfortran
  184. CTEST_LABELS: "Fortran"
  185. .fedora41_ninja_clang:
  186. extends: .fedora41
  187. variables:
  188. CMAKE_CONFIGURATION: fedora41_ninja_clang
  189. .fedora41_ninja_multi_clang:
  190. extends: .fedora41
  191. variables:
  192. CMAKE_CONFIGURATION: fedora41_ninja_multi_clang
  193. CMAKE_GENERATOR: "Ninja Multi-Config"
  194. ### Sanitizers
  195. .fedora_memcheck:
  196. variables:
  197. CMAKE_CI_BUILD_TYPE: RelWithDebInfo
  198. .fedora_asan_addon:
  199. extends: .fedora_memcheck
  200. variables:
  201. CTEST_MEMORYCHECK_TYPE: AddressSanitizer
  202. CTEST_MEMORYCHECK_SANITIZER_OPTIONS: ""
  203. .fedora41_asan:
  204. extends:
  205. - .fedora41
  206. - .fedora_asan_addon
  207. variables:
  208. CMAKE_CONFIGURATION: fedora41_asan
  209. ### Intel Compiler
  210. .intelcompiler:
  211. image: "kitware/intelcompiler:$CMAKE_CI_INTELCOMPILER_IMAGE_TAG"
  212. environment:
  213. name: intel-compiler
  214. variables:
  215. CMAKE_ARCH: x86_64
  216. .intelclassic_makefiles:
  217. extends: .intelcompiler
  218. variables:
  219. CMAKE_CONFIGURATION: intelclassic_makefiles
  220. CMAKE_GENERATOR: "Unix Makefiles"
  221. .inteloneapi_makefiles:
  222. extends: .intelcompiler
  223. variables:
  224. CMAKE_CONFIGURATION: inteloneapi_makefiles
  225. CMAKE_GENERATOR: "Unix Makefiles"
  226. ### NVHPC Compiler
  227. .nvhpc:
  228. image: "kitware/cmake:ci-nvhpc22.11-x86_64-2022-12-06"
  229. variables:
  230. CMAKE_ARCH: x86_64
  231. CMAKE_CUDA_ARCHITECTURES_NATIVE_CLAMP: 1
  232. .nvhpc_ninja:
  233. extends: .nvhpc
  234. variables:
  235. CMAKE_CONFIGURATION: nvhpc_ninja
  236. ### CUDA builds
  237. .cuda:
  238. variables:
  239. GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
  240. CTEST_LABELS: "CUDA"
  241. CMAKE_CUDA_ARCHITECTURES_NATIVE_CLAMP: 1
  242. .cuda9.2:
  243. extends: .cuda
  244. image: "kitware/cmake:ci-cuda9.2-x86_64-2021-10-01"
  245. variables:
  246. CMAKE_ARCH: x86_64
  247. .cuda9.2_nvidia:
  248. extends: .cuda9.2
  249. variables:
  250. CMAKE_CONFIGURATION: cuda9.2_nvidia
  251. CMAKE_GENERATOR: "Ninja Multi-Config"
  252. .cuda10.2:
  253. extends: .cuda
  254. image: "kitware/cmake:ci-cuda10.2-x86_64-2021-06-16"
  255. variables:
  256. CMAKE_ARCH: x86_64
  257. .cuda10.2_nvidia:
  258. extends: .cuda10.2
  259. variables:
  260. CMAKE_CONFIGURATION: cuda10.2_nvidia
  261. CTEST_NO_WARNINGS_ALLOWED: 1
  262. .cuda10.2_clang:
  263. extends: .cuda10.2
  264. variables:
  265. CMAKE_CONFIGURATION: cuda10.2_clang
  266. CTEST_NO_WARNINGS_ALLOWED: 1
  267. .cuda11.6:
  268. extends: .cuda
  269. image: "kitware/cmake:ci-cuda11.6-x86_64-2022-02-28"
  270. variables:
  271. CMAKE_ARCH: x86_64
  272. .cuda11.6_nvidia:
  273. extends: .cuda11.6
  274. variables:
  275. CMAKE_CONFIGURATION: cuda11.6_nvidia
  276. CTEST_NO_WARNINGS_ALLOWED: 1
  277. .cuda11.6_clang:
  278. extends: .cuda11.6
  279. variables:
  280. CMAKE_CONFIGURATION: cuda11.6_clang
  281. CTEST_NO_WARNINGS_ALLOWED: 1
  282. .cuda11.8_minimal:
  283. extends: .cuda
  284. image: "kitware/cmake:ci-cuda11.8-minimal-x86_64-2022-12-06"
  285. variables:
  286. CMAKE_ARCH: x86_64
  287. .cuda11.8_minimal_nvidia:
  288. extends: .cuda11.8_minimal
  289. variables:
  290. CMAKE_CONFIGURATION: cuda11.8_minimal_nvidia
  291. CTEST_NO_WARNINGS_ALLOWED: 1
  292. .cuda11.8_splayed_nvidia:
  293. extends: .cuda11.8_minimal
  294. variables:
  295. CMAKE_CONFIGURATION: cuda11.8_splayed_nvidia
  296. CTEST_NO_WARNINGS_ALLOWED: 1
  297. .cuda12.2:
  298. extends: .cuda
  299. image: "kitware/cmake:ci-cuda12.2-x86_64-2024-09-25"
  300. variables:
  301. CMAKE_ARCH: x86_64
  302. .cuda12.2_nvidia:
  303. extends: .cuda12.2
  304. variables:
  305. CMAKE_CONFIGURATION: cuda12.2_nvidia
  306. CTEST_NO_WARNINGS_ALLOWED: 1
  307. .cuda12.2_nvidia_clang:
  308. extends: .cuda12.2
  309. variables:
  310. CMAKE_CONFIGURATION: cuda12.2_nvidia_clang
  311. CTEST_NO_WARNINGS_ALLOWED: 1
  312. .cuda12.2_clang:
  313. extends: .cuda12.2
  314. variables:
  315. CMAKE_CONFIGURATION: cuda12.2_clang
  316. CTEST_NO_WARNINGS_ALLOWED: 1
  317. ### HIP builds
  318. .hip5.5:
  319. image: "kitware/cmake:ci-hip5.5-x86_64-2023-09-18"
  320. variables:
  321. GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
  322. CMAKE_ARCH: x86_64
  323. CTEST_LABELS: "HIP"
  324. .hip5.5_radeon:
  325. extends: .hip5.5
  326. variables:
  327. CMAKE_CONFIGURATION: hip5.5_radeon
  328. CMAKE_GENERATOR: "Ninja Multi-Config"
  329. .debian12_hip_radeon:
  330. extends: .debian12
  331. variables:
  332. CMAKE_CONFIGURATION: debian12_hip_radeon
  333. CTEST_LABELS: "HIP"
  334. .fedora41_hip_radeon:
  335. extends: .fedora41_hip
  336. variables:
  337. CMAKE_CONFIGURATION: fedora41_hip_radeon
  338. CTEST_LABELS: "HIP"
  339. .hip5.5_nvidia:
  340. extends: .hip5.5
  341. variables:
  342. CMAKE_CONFIGURATION: hip5.5_nvidia
  343. CTEST_LABELS: "HIP"
  344. ### Debian 10 legacy packages
  345. .debian10:
  346. image: "kitware/cmake:ci-debian10-x86_64-2023-07-31"
  347. variables:
  348. GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
  349. CMAKE_ARCH: x86_64
  350. .debian10_legacy:
  351. extends: .debian10
  352. variables:
  353. CMAKE_CONFIGURATION: debian10_legacy
  354. CTEST_LABELS: "Python2"
  355. ## Tags
  356. .linux_x86_64_tags:
  357. tags:
  358. - cmake
  359. - build
  360. - docker
  361. - linux-x86_64
  362. .linux_x86_64_v3_tags:
  363. tags:
  364. - cmake
  365. - build
  366. - docker
  367. - linux-x86_64-v3
  368. .linux_x86_64_tags_x11:
  369. tags:
  370. - cmake
  371. - docker
  372. - linux-x86_64
  373. - x11
  374. .linux_x86_64_tags_cuda_arch_30:
  375. tags:
  376. - cmake
  377. - cuda-arch-30
  378. - docker
  379. - linux-x86_64
  380. .linux_x86_64_tags_cuda_arch_52:
  381. tags:
  382. - cmake
  383. - cuda-arch-52
  384. - docker
  385. - linux-x86_64
  386. .linux_x86_64_v3_tags_cuda_arch_52:
  387. tags:
  388. - cmake
  389. - cuda-arch-52
  390. - docker
  391. - linux-x86_64-v3
  392. .linux_x86_64_tags_radeon:
  393. tags:
  394. - cmake
  395. - radeon
  396. - docker
  397. - linux-x86_64
  398. .linux_aarch64_tags:
  399. tags:
  400. - cmake
  401. - build
  402. - docker
  403. - linux-aarch64
  404. ## Linux-specific scripts
  405. .before_script_linux: &before_script_linux
  406. - source .gitlab/ci/env.sh
  407. - source .gitlab/ci/cmake-env.sh
  408. - source .gitlab/ci/ninja-env.sh
  409. .cmake_prep_source_linux:
  410. stage: prep
  411. script:
  412. - *before_script_linux
  413. - dnf install --setopt=install_weak_deps=False -y git-core
  414. - v="$(.gitlab/ci/cmake_version.sh)"
  415. - mkdir -p build/
  416. - git archive --format=tgz --prefix="cmake-$v/" -o "build/cmake-$v.tar.gz" HEAD
  417. - git archive --format=zip --prefix="cmake-$v/" -o "build/cmake-$v.zip" HEAD
  418. interruptible: true
  419. .cmake_prep_doc_linux:
  420. stage: prep
  421. script:
  422. - *before_script_linux
  423. - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake"
  424. - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake"
  425. interruptible: true
  426. .cmake_codespell_linux:
  427. stage: build
  428. extends: .fedora41
  429. script:
  430. - .gitlab/ci/codespell.sh
  431. interruptible: true
  432. .cmake_build_linux:
  433. stage: build
  434. script:
  435. - *before_script_linux
  436. - .gitlab/ci/sccache.sh
  437. - sccache --start-server
  438. - sccache --show-stats
  439. - .gitlab/ci/pre_build.sh
  440. - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake"
  441. - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake"
  442. - .gitlab/ci/post_build.sh
  443. - sccache --show-stats
  444. interruptible: true
  445. .cmake_test_linux:
  446. stage: test
  447. script:
  448. - *before_script_linux
  449. - "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_test.cmake"
  450. interruptible: true
  451. .cmake_memcheck_linux:
  452. stage: test
  453. script:
  454. - *before_script_linux
  455. - "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_memcheck.cmake"
  456. interruptible: true
  457. .cmake_build_linux_release:
  458. stage: build
  459. script:
  460. - source .gitlab/ci/env.sh
  461. # Bootstrap.
  462. - mkdir -p build/
  463. - cp Utilities/Release/linux/$CMAKE_ARCH/cache.txt build/CMakeCache.txt
  464. # Make sccache available.
  465. - source .gitlab/ci/sccache-env.sh
  466. # Append sccache settings to the cache.
  467. - echo "CMAKE_C_COMPILER_LAUNCHER:STRING=sccache" >> build/CMakeCache.txt
  468. - echo "CMAKE_CXX_COMPILER_LAUNCHER:STRING=sccache" >> build/CMakeCache.txt
  469. # CI settings.
  470. - echo "CMake_TEST_INSTALL:BOOL=OFF" >> build/CMakeCache.txt
  471. - echo "CMAKE_INSTALL_PREFIX:PATH=$PWD/build/install" >> build/CMakeCache.txt
  472. - echo "CMAKE_SKIP_INSTALL_ALL_DEPENDENCY:BOOL=ON" >> build/CMakeCache.txt
  473. # Appease Git. The Git in this container is old (1.7) and doesn't
  474. # understand some things. But, it doesn't need to, so make it blind.
  475. - mkdir -p .git/info
  476. - echo "* -crlf" >> .git/info/attributes
  477. - git reset --hard
  478. # Bootstrap
  479. - cd build/
  480. - '$LAUNCHER ../bootstrap --parallel=$(nproc) --docdir=doc/cmake $BOOTSTRAP_ARGS'
  481. # FIXME: When CTest can drive an external CMake for the build as well,
  482. # use the scripts here.
  483. - "$LAUNCHER make -j$(nproc)"
  484. # NOTE: This regex matches that used in the release build.
  485. - "$LAUNCHER bin/ctest --output-on-failure -j$(nproc) -R '^(CMake\\.|CMakeLib\\.|RunCMake\\.ctest_memcheck)'"
  486. # Make a package.
  487. - bin/cpack -G TGZ
  488. - bin/cpack -G STGZ
  489. - sccache --show-stats
  490. interruptible: true
  491. .cmake_build_linux_standalone:
  492. stage: build
  493. script:
  494. - *before_script_linux
  495. - .gitlab/ci/sccache.sh
  496. - sccache --start-server
  497. - sccache --show-stats
  498. - "$LAUNCHER ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake"
  499. - sccache --show-stats
  500. interruptible: true
  501. .cmake_test_linux_release:
  502. stage: test-ext
  503. script:
  504. - *before_script_linux
  505. # Make the CMake package available.
  506. - mkdir -p build/install
  507. - tar -C build/install --strip-components=1 -xzf build/cmake-*-linux-$CMAKE_ARCH.tar.gz
  508. - .gitlab/ci/sccache.sh
  509. - sccache --start-server
  510. - sccache --show-stats
  511. - "$LAUNCHER build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake"
  512. - sccache --show-stats
  513. interruptible: true
  514. .cmake_test_linux_external:
  515. stage: test-ext
  516. script:
  517. - *before_script_linux
  518. - .gitlab/ci/sccache.sh
  519. - sccache --start-server
  520. - sccache --show-stats
  521. - "$LAUNCHER build/install/bin/ctest --output-on-failure -V -S .gitlab/ci/ctest_standalone.cmake"
  522. - sccache --show-stats
  523. interruptible: true
  524. .cmake_test_linux_intelclassic_makefiles:
  525. extends:
  526. - .intelclassic_makefiles
  527. - .cmake_test_linux_release
  528. - .linux_x86_64_tags
  529. - .run_manually
  530. - .needs_centos7_x86_64
  531. variables:
  532. CMAKE_CI_JOB_NIGHTLY: "true"
  533. .cmake_test_linux_inteloneapi_makefiles:
  534. extends:
  535. - .inteloneapi_makefiles
  536. - .cmake_test_linux_release
  537. - .linux_x86_64_tags
  538. - .run_manually
  539. - .needs_centos7_x86_64
  540. variables:
  541. CMAKE_CI_JOB_NIGHTLY: "true"
  542. ### Documentation
  543. .cmake_org_help:
  544. stage: build
  545. extends:
  546. - .fedora41
  547. - .linux_x86_64_tags
  548. - .cmake_org_help_artifacts
  549. script:
  550. - *before_script_linux
  551. - mkdir -p build/
  552. - cd build/
  553. - cmake ../Utilities/Sphinx -GNinja
  554. -DSPHINX_HTML=ON
  555. -DSPHINX_QTHELP=$CMAKE_CI_SPHINX_QTHELP
  556. -DCMake_SPHINX_CMAKE_ORG=ON
  557. -DCMake_SPHINX_CMAKE_ORG_OUTDATED=$CMAKE_CI_SPHINX_OUTDATED
  558. -DCMake_VERSION_NO_GIT=$CMAKE_CI_VERSION_NO_GIT
  559. - ninja