| include: |
| # Metadata shared my many jobs |
| - local: .gitlab/rules.yml |
| - local: .gitlab/artifacts.yml |
| |
| # OS builds. |
| - local: .gitlab/os-linux.yml |
| - local: .gitlab/os-macos.yml |
| - local: .gitlab/os-windows.yml |
| |
| # Post-build steps |
| - local: .gitlab/upload.yml |
| |
| stages: |
| - prep |
| - build |
| - test |
| - test-ext |
| - upload |
| |
| ################################################################################ |
| # Job declarations |
| # |
| # Each job must pull in each of the following keys: |
| # |
| # - a "base image" |
| # - a build script |
| # - tags for the jobs |
| # - rules for when to run the job |
| # |
| # Additionally, jobs may also contain: |
| # |
| # - artifacts |
| # - dependency/needs jobs for required jobs |
| ################################################################################ |
| |
| # Prep jobs |
| |
| prep:source-package: |
| extends: |
| - .linux_prep_source |
| - .cmake_prep_source_linux |
| - .linux_builder_tags |
| - .cmake_release_artifacts |
| - .run_only_for_package |
| |
| prep:doc-package: |
| extends: |
| - .fedora33_sphinx_package |
| - .cmake_prep_doc_linux |
| - .linux_builder_tags_qt |
| - .cmake_doc_artifacts |
| - .run_only_for_package |
| |
| upload:source-package: |
| extends: |
| - .rsync_upload |
| - .run_only_for_package |
| dependencies: |
| - prep:source-package |
| needs: |
| - prep:source-package |
| variables: |
| RSYNC_DESTINATION: dev |
| |
| # Lint builds |
| |
| build:debian10-iwyu: |
| extends: |
| - .debian10_iwyu |
| - .cmake_build_linux |
| - .linux_builder_tags |
| - .run_automatically |
| |
| build:fedora33-tidy: |
| extends: |
| - .fedora33_tidy |
| - .cmake_build_linux |
| - .linux_builder_tags_qt |
| - .run_automatically |
| |
| build:fedora33-sphinx: |
| extends: |
| - .fedora33_sphinx |
| - .cmake_build_linux |
| - .linux_builder_tags_qt |
| - .run_automatically |
| variables: |
| CMAKE_CI_JOB_CONTINUOUS: "true" |
| CMAKE_CI_JOB_HELP: "true" |
| |
| # Linux builds |
| |
| build:centos6-x86_64: |
| extends: |
| - .linux_release_x86_64 |
| - .cmake_build_linux_release |
| - .cmake_release_artifacts |
| - .linux_builder_tags |
| - .run_manually |
| |
| build:centos7-aarch64: |
| extends: |
| - .linux_release_aarch64 |
| - .cmake_build_linux_release |
| - .cmake_release_artifacts |
| - .linux_builder_tags_aarch64 |
| - .run_manually |
| variables: |
| CMAKE_CI_NO_MR: "true" |
| |
| test:debian10-ninja: |
| extends: |
| - .debian10_ninja |
| - .cmake_test_linux_release |
| - .linux_builder_tags_qt |
| - .run_dependent |
| - .needs_centos6_x86_64 |
| |
| test:debian10-aarch64-ninja: |
| extends: |
| - .debian10_aarch64_ninja |
| - .cmake_test_linux_release |
| - .linux_builder_tags_aarch64_qt |
| - .run_dependent |
| - .needs_centos7_aarch64 |
| variables: |
| CMAKE_CI_NO_MR: "true" |
| |
| test:fedora33-makefiles: |
| extends: |
| - .fedora33_makefiles |
| - .cmake_test_linux_release |
| - .linux_builder_tags_qt |
| - .run_dependent |
| - .needs_centos6_x86_64 |
| |
| test:cuda10.2-nvidia: |
| extends: |
| - .cuda10.2_nvidia |
| - .cmake_test_linux_release |
| - .linux_builder_tags_cuda |
| - .run_dependent |
| - .needs_centos6_x86_64 |
| |
| build:fedora33-ninja: |
| extends: |
| - .fedora33_ninja |
| - .cmake_build_linux |
| - .cmake_build_artifacts |
| - .linux_builder_tags_qt |
| - .run_manually |
| |
| test:fedora33-ninja: |
| extends: |
| - .fedora33_ninja |
| - .cmake_test_linux |
| - .linux_builder_tags_x11 |
| - .cmake_test_artifacts |
| - .run_dependent |
| dependencies: |
| - build:fedora33-ninja |
| needs: |
| - build:fedora33-ninja |
| |
| test:fedora33-ninja-multi: |
| extends: |
| - .fedora33_ninja_multi |
| - .cmake_test_linux_external |
| - .linux_builder_tags_qt |
| - .run_dependent |
| dependencies: |
| - test:fedora33-ninja |
| needs: |
| - test:fedora33-ninja |
| |
| test:intel2016-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2016_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2016-el7 |
| |
| test:intel2016u1-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2016u1_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2016u1-el7 |
| |
| test:intel2016u2-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2016u2_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2016u2-el7 |
| |
| test:intel2017-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2017_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017-el7 |
| |
| test:intel2017u1-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2017u1_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u1-el7 |
| |
| test:intel2017u2-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2017u2_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u2-el7 |
| |
| test:intel2017u3-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2017u3_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u3-el7 |
| |
| test:intel2017u4-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2017u4_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u4-el7 |
| |
| test:intel2017u5-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2017u5_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u5-el7 |
| |
| test:intel2017u6-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2017u6_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u6-el7 |
| |
| test:intel2017u7-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2017u7_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u7-el7 |
| |
| test:intel2017u8-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2017u8_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u8-el7 |
| |
| test:intel2018-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2018_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018-el7 |
| |
| test:intel2018u1-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2018u1_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018u1-el7 |
| |
| test:intel2018u2-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2018u2_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018u2-el7 |
| |
| test:intel2018u3-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2018u3_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018u3-el7 |
| |
| test:intel2018u4-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2018u4_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018u4-el7 |
| |
| test:intel2019-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2019_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019-el7 |
| |
| test:intel2019u1-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2019u1_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019u1-el7 |
| |
| test:intel2019u2-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2019u2_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019u2-el7 |
| |
| test:intel2019u3-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2019u3_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019u3-el7 |
| |
| test:intel2019u4-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2019u4_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019u4-el7 |
| |
| test:intel2020-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2020_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2020-el8 |
| |
| test:intel2020u2-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2020u2_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2020u2-el8 |
| |
| test:intel2020u4-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2020u4_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2020u4-el8 |
| |
| test:intel2021.1.1-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2021.1.1_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.1.1-el8 |
| |
| test:intel2021.1.2-makefiles: |
| extends: |
| - .cmake_test_linux_intelclassic_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: intel2021.1.2_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.1.2-el8 |
| |
| test:oneapi2021.1.1-makefiles: |
| extends: |
| - .cmake_test_linux_inteloneapi_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: oneapi2021.1.1_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.1.1-el8 |
| |
| test:oneapi2021.1.2-makefiles: |
| extends: |
| - .cmake_test_linux_inteloneapi_makefiles |
| variables: |
| CMAKE_CI_BUILD_NAME: oneapi2021.1.2_makefiles |
| CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2021.1.2-el8 |
| |
| build:linux-x86_64-package: |
| extends: |
| - .linux_package |
| - .linux_release_x86_64 |
| - .cmake_build_linux_release |
| - .cmake_release_artifacts |
| - .linux_builder_tags |
| - .run_only_for_package |
| dependencies: |
| - prep:doc-package |
| needs: |
| - prep:doc-package |
| |
| upload:linux-x86_64-package: |
| extends: |
| - .rsync_upload |
| - .run_only_for_package |
| dependencies: |
| - build:linux-x86_64-package |
| needs: |
| - build:linux-x86_64-package |
| variables: |
| RSYNC_DESTINATION: dev |
| |
| build:linux-aarch64-package: |
| extends: |
| - .linux_package |
| - .linux_release_aarch64 |
| - .cmake_build_linux_release |
| - .cmake_release_artifacts |
| - .linux_builder_tags_aarch64 |
| - .run_only_for_package |
| dependencies: |
| - prep:doc-package |
| needs: |
| - prep:doc-package |
| |
| upload:linux-aarch64-package: |
| extends: |
| - .rsync_upload |
| - .run_only_for_package |
| dependencies: |
| - build:linux-aarch64-package |
| needs: |
| - build:linux-aarch64-package |
| variables: |
| RSYNC_DESTINATION: dev |
| |
| # macOS builds |
| |
| build:macos-x86_64-ninja: |
| extends: |
| - .macos_x86_64_ninja |
| - .cmake_build_macos |
| - .cmake_build_artifacts |
| - .macos_x86_64_builder_tags |
| - .run_manually |
| |
| build:macos-arm64-ninja: |
| extends: |
| - .macos_arm64_ninja |
| - .cmake_build_macos |
| - .cmake_build_artifacts |
| - .macos_arm64_builder_tags |
| - .run_manually |
| variables: |
| CMAKE_CI_NO_MR: "true" |
| |
| test:macos-x86_64-ninja: |
| extends: |
| - .macos_x86_64_ninja |
| - .cmake_test_macos |
| - .cmake_test_artifacts |
| - .macos_x86_64_builder_tags |
| - .run_dependent |
| dependencies: |
| - build:macos-x86_64-ninja |
| needs: |
| - build:macos-x86_64-ninja |
| |
| test:macos-arm64-ninja: |
| extends: |
| - .macos_arm64_ninja |
| - .cmake_test_macos |
| - .cmake_test_artifacts |
| - .macos_arm64_builder_tags |
| - .run_dependent |
| dependencies: |
| - build:macos-arm64-ninja |
| needs: |
| - build:macos-arm64-ninja |
| variables: |
| CMAKE_CI_NO_MR: "true" |
| |
| build:macos-x86_64-makefiles: |
| extends: |
| - .macos_x86_64_makefiles |
| - .cmake_build_macos |
| - .cmake_build_artifacts |
| - .macos_x86_64_builder_tags |
| - .run_manually |
| |
| test:macos-x86_64-makefiles: |
| extends: |
| - .macos_x86_64_makefiles |
| - .cmake_test_macos |
| - .macos_x86_64_builder_tags |
| - .run_dependent |
| dependencies: |
| - build:macos-x86_64-makefiles |
| needs: |
| - build:macos-x86_64-makefiles |
| |
| test:macos-x86_64-xcode: |
| extends: |
| - .macos_x86_64_xcode |
| - .cmake_test_macos_external |
| - .macos_x86_64_builder_ext_tags |
| - .run_dependent |
| dependencies: |
| - test:macos-x86_64-ninja |
| needs: |
| - test:macos-x86_64-ninja |
| |
| test:macos-arm64-xcode: |
| extends: |
| - .macos_arm64_xcode |
| - .cmake_test_macos_external |
| - .macos_arm64_builder_ext_tags |
| - .run_dependent |
| dependencies: |
| - test:macos-arm64-ninja |
| needs: |
| - test:macos-arm64-ninja |
| variables: |
| CMAKE_CI_NO_MR: "true" |
| |
| build:macos-package: |
| extends: |
| - .macos_package |
| - .cmake_build_macos_package |
| - .cmake_release_artifacts |
| - .macos_x86_64_builder_tags_package |
| - .run_only_for_package |
| dependencies: |
| - prep:doc-package |
| needs: |
| - prep:doc-package |
| |
| upload:macos-package: |
| extends: |
| - .rsync_upload |
| - .run_only_for_package |
| dependencies: |
| - build:macos-package |
| needs: |
| - build:macos-package |
| variables: |
| RSYNC_DESTINATION: dev |
| |
| build:macos10.10-package: |
| extends: |
| - .macos10.10_package |
| - .cmake_build_macos_package |
| - .cmake_release_artifacts |
| - .macos_x86_64_builder_tags_package |
| - .run_only_for_package |
| dependencies: |
| - prep:doc-package |
| needs: |
| - prep:doc-package |
| |
| upload:macos10.10-package: |
| extends: |
| - .rsync_upload |
| - .run_only_for_package |
| dependencies: |
| - build:macos10.10-package |
| needs: |
| - build:macos10.10-package |
| variables: |
| RSYNC_DESTINATION: dev |
| |
| # Windows builds |
| |
| build:windows-vs2019-x64-ninja: |
| extends: |
| - .windows_vs2019_x64_ninja |
| - .cmake_build_windows |
| - .cmake_build_artifacts |
| - .windows_builder_tags |
| - .run_manually |
| |
| test:windows-vs2019-x64-ninja: |
| extends: |
| - .windows_vs2019_x64_ninja |
| - .cmake_test_windows |
| - .windows_builder_tags |
| - .cmake_test_artifacts |
| - .run_dependent |
| dependencies: |
| - build:windows-vs2019-x64-ninja |
| needs: |
| - build:windows-vs2019-x64-ninja |
| |
| test:windows-vs2019-x64: |
| extends: |
| - .windows_vs2019_x64 |
| - .cmake_test_windows_external |
| - .windows_builder_ext_tags |
| - .run_dependent |
| dependencies: |
| - test:windows-vs2019-x64-ninja |
| needs: |
| - test:windows-vs2019-x64-ninja |