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: extends: - .linux_prep_source - .cmake_prep_source_linux - .linux_builder_tags - .cmake_release_artifacts - .run_only_for_package prep:doc: extends: - .fedora31_sphinx_package - .cmake_prep_doc_linux - .linux_builder_tags_qt - .cmake_doc_artifacts - .run_only_for_package upload:source: extends: - .rsync_upload - .run_only_for_package dependencies: - prep:source needs: - prep:source variables: RSYNC_DESTINATION: dev # Lint builds build:debian10-iwyu: extends: - .debian10_iwyu - .cmake_build_linux - .linux_builder_tags - .run_automatically build:fedora31-tidy: extends: - .fedora31_tidy - .cmake_build_linux - .linux_builder_tags_qt - .run_automatically build:fedora31-sphinx: extends: - .fedora31_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-release: extends: - .release_linux - .cmake_build_release_linux - .cmake_release_artifacts - .linux_builder_tags - .run_manually test:fedora31-makefiles: extends: - .fedora31_makefiles - .cmake_test_linux_package - .linux_builder_tags_qt - .run_dependent dependencies: - build:centos6-release needs: - build:centos6-release test:cuda10.2-nvidia: extends: - .cuda10.2_nvidia - .cmake_test_linux_package - .linux_builder_tags_cuda - .run_dependent dependencies: - build:centos6-release needs: - build:centos6-release build:fedora31-ninja: extends: - .fedora31_ninja - .cmake_build_linux - .cmake_build_artifacts - .linux_builder_tags_qt - .run_manually test:fedora31-ninja: extends: - .fedora31_ninja - .cmake_test_linux - .linux_builder_tags_x11 - .cmake_test_artifacts - .run_dependent dependencies: - build:fedora31-ninja needs: - build:fedora31-ninja test:fedora31-ninja-multi: extends: - .fedora31_ninja_multi - .cmake_test_linux_external - .linux_builder_tags_qt - .run_dependent dependencies: - test:fedora31-ninja needs: - test:fedora31-ninja # macOS builds build:macos-ninja: extends: - .macos_ninja - .cmake_build_macos - .cmake_build_artifacts - .macos_builder_tags - .run_manually test:macos-ninja: extends: - .macos_ninja - .cmake_test_macos - .cmake_test_artifacts - .macos_builder_tags - .run_dependent dependencies: - build:macos-ninja needs: - build:macos-ninja build:macos-makefiles: extends: - .macos_makefiles - .cmake_build_macos - .cmake_build_artifacts - .macos_builder_tags - .run_manually test:macos-makefiles: extends: - .macos_makefiles - .cmake_test_macos - .macos_builder_tags - .run_dependent dependencies: - build:macos-makefiles needs: - build:macos-makefiles test:macos-xcode: extends: - .macos_xcode - .cmake_test_macos_external - .macos_builder_ext_tags - .run_dependent dependencies: - test:macos-ninja needs: - test:macos-ninja build:macos-package: extends: - .macos_package - .cmake_build_macos_package - .cmake_release_artifacts - .macos_builder_tags_package - .run_only_for_package dependencies: - prep:doc needs: - prep:doc upload:macos: extends: - .rsync_upload - .run_only_for_package dependencies: - build:macos-package needs: - build:macos-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