| 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: |
| - build |
| - test |
| - package |
| - 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 |
| ################################################################################ |
| |
| # 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 |
| |
| build:fedora31-sphinx-package: |
| extends: |
| - .fedora31_sphinx_package |
| - .cmake_build_linux |
| - .linux_builder_tags_qt |
| - .cmake_doc_artifacts |
| - .run_only_for_package |
| |
| # 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_automatically |
| 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_automatically |
| 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_automatically |
| 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_automatically |
| 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_automatically |
| 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_automatically |
| dependencies: |
| - build:macos-makefiles |
| needs: |
| - build:macos-makefiles |
| |
| test:macos-xcode: |
| extends: |
| - .macos_xcode |
| - .cmake_test_macos_external |
| - .macos_builder_ext_tags |
| - .run_automatically |
| dependencies: |
| - test:macos-ninja |
| needs: |
| - test:macos-ninja |
| |
| package:macos: |
| extends: |
| - .macos_package |
| - .cmake_build_macos_package |
| - .cmake_release_artifacts |
| - .macos_builder_tags_package |
| - .run_only_for_package |
| dependencies: |
| - build:fedora31-sphinx-package |
| needs: |
| - build:fedora31-sphinx-package |
| |
| upload:macos: |
| extends: |
| - .rsync_upload |
| - .run_only_for_package |
| dependencies: |
| - package:macos |
| needs: |
| - package:macos |
| 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_automatically |
| 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_automatically |
| dependencies: |
| - test:windows-vs2019-x64-ninja |
| needs: |
| - test:windows-vs2019-x64-ninja |