581 lines
15 KiB
YAML
581 lines
15 KiB
YAML
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
|
|
|
|
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
|