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-centos7 test:intel2016u1-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2016u1_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2016u1-centos7 test:intel2016u2-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2016u2_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2016u2-centos7 test:intel2017-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2017_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017-centos7 test:intel2017u1-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2017u1_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u1-centos7 test:intel2017u2-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2017u2_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u2-centos7 test:intel2017u3-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2017u3_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u3-centos7 test:intel2017u4-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2017u4_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u4-centos7 test:intel2017u5-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2017u5_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u5-centos7 test:intel2017u6-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2017u6_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u6-centos7 test:intel2017u7-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2017u7_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u7-centos7 test:intel2017u8-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2017u8_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2017u8-centos7 test:intel2018-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2018_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018-centos7 test:intel2018u1-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2018u1_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018u1-centos7 test:intel2018u2-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2018u2_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018u2-centos7 test:intel2018u3-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2018u3_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018u3-centos7 test:intel2018u4-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2018u4_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2018u4-centos7 test:intel2019-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2019_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019-centos7 test:intel2019u1-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2019u1_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019u1-centos7 test:intel2019u2-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2019u2_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019u2-centos7 test:intel2019u3-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2019u3_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019u3-centos7 test:intel2019u4-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2019u4_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2019u4-centos7 test:intel2020-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2020_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2020-rhel8 test:intel2020u2-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2020u2_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2020u2-rhel8 test:intel2020u4-makefiles: extends: - .cmake_test_linux_intelclassic_makefiles variables: CMAKE_CI_BUILD_NAME: intel2020u4_makefiles CMAKE_CI_INTELCOMPILER_IMAGE_TAG: 2020u4-rhel8 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-rhel8 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-rhel8 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-rhel8 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-rhel8 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