加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
.gitlab-ci.yml 10.09 KB
一键复制 编辑 原始数据 按行查看 历史
include:
# Metadata shared my many jobs
- local: .gitlab/rules.yml
- local: .gitlab/artifacts.yml
- local: .gitlab/upload.yml
# OS builds.
- local: .gitlab/os-linux.yml
- local: .gitlab/os-macos.yml
- local: .gitlab/os-windows.yml
stages:
- 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
# - already provided for upload and CI update jobs
# - rules for when to run the job
#
# Additionally, jobs may also contain:
#
# - artifacts
# - dependency/needs jobs for required jobs
################################################################################
# Linux
## Basic builds
build:fedora33-mpi-renderless:
extends:
- .fedora33_mpi_renderless
- .cmake_build_linux
- .linux_builder_tags
- .cmake_build_artifacts
- .run_manually
test:fedora33-mpi-renderless:
extends:
- .fedora33_mpi_renderless
- .cmake_test_linux
- .linux_builder_tags
- .cmake_test_artifacts
- .run_automatically
dependencies:
- build:fedora33-mpi-renderless
needs:
- build:fedora33-mpi-renderless
test-ext:vtk:fedora33-mpi-renderless:
extends:
- .fedora33_mpi_renderless_ext_vtk
- .cmake_test_external_linux
- .linux_builder_tags
- .cmake_tidy_artifacts
- .run_automatically
dependencies:
- test:fedora33-mpi-renderless
needs:
- test:fedora33-mpi-renderless
build:fedora33-mpi-offscreen-osmesa-python:
extends:
- .fedora33_mpi_offscreen_osmesa_python
- .cmake_build_linux
- .linux_builder_tags
- .cmake_build_artifacts
- .run_manually
test:fedora33-mpi-offscreen-osmesa-python:
extends:
- .fedora33_mpi_offscreen_osmesa_python
- .cmake_test_linux
- .linux_builder_tags
- .cmake_test_artifacts
- .run_automatically
dependencies:
- build:fedora33-mpi-offscreen-osmesa-python
needs:
- build:fedora33-mpi-offscreen-osmesa-python
test-ext:vtk:fedora33-mpi-offscreen-osmesa-python:
extends:
- .fedora33_mpi_offscreen_osmesa_python_ext_vtk
- .cmake_test_external_linux
- .linux_builder_tags
- .cmake_tidy_artifacts
- .run_automatically
dependencies:
- test:fedora33-mpi-offscreen-osmesa-python
needs:
- test:fedora33-mpi-offscreen-osmesa-python
# build:fedora33-java-mpi-qt-tbb:
# extends:
# - .fedora33_java_mpi_qt_tbb
# - .cmake_build_linux
# - .linux_qt_builder_tags
# - .cmake_build_artifacts
# - .run_manually
# # The Java build extends the build time considerably.
# timeout: 2 hours
# test:fedora33-java-mpi-qt-tbb:
# extends:
# - .fedora33_java_mpi_qt_tbb
# - .cmake_test_linux
# - .linux_qt_tester_tags
# - .cmake_test_artifacts
# - .run_automatically
# dependencies:
# - build:fedora33-java-mpi-qt-tbb
# needs:
# - build:fedora33-java-mpi-qt-tbb
build:fedora33-mpi-python-qt-tbb:
extends:
- .fedora33_mpi_python_qt_tbb
- .cmake_build_linux
- .linux_qt_builder_tags
- .cmake_build_artifacts
- .run_manually
test:fedora33-mpi-python-qt-tbb:
extends:
- .fedora33_mpi_python_qt_tbb
- .cmake_test_linux
- .linux_qt_tester_tags
- .cmake_test_artifacts
- .run_automatically
dependencies:
- build:fedora33-mpi-python-qt-tbb
needs:
- build:fedora33-mpi-python-qt-tbb
test-ext:vtk:fedora33-mpi-python-qt-tbb:
extends:
- .fedora33_mpi_python_qt_tbb_ext_vtk
- .cmake_test_external_linux
- .linux_qt_tester_tags
- .cmake_tidy_artifacts
- .run_automatically
dependencies:
- test:fedora33-mpi-python-qt-tbb
needs:
- test:fedora33-mpi-python-qt-tbb
## Static analysis builds
build:fedora33-tidy:
extends:
- .fedora33_tidy
- .cmake_build_linux
- .linux_builder_tags
- .cmake_tidy_artifacts
- .run_manually
# clang-tidy really hampers compilation cache improvements, so it takes
# longer.
timeout: 2 hours
## Sanitizer builds
build:fedora33-asan:
extends:
- .fedora33_asan
- .cmake_build_linux
- .linux_qt_builder_tags
- .cmake_build_artifacts
- .run_manually
test:fedora33-asan:
extends:
- .fedora33_asan
- .cmake_memcheck_linux
- .linux_qt_tester_priv_tags
- .cmake_test_artifacts
- .run_automatically
dependencies:
- build:fedora33-asan
needs:
- build:fedora33-asan
build:fedora33-tsan:
extends:
- .fedora33_tsan
- .cmake_build_linux
- .linux_qt_builder_tags
- .cmake_build_artifacts
- .run_manually
test:fedora33-tsan:
extends:
- .fedora33_tsan
- .cmake_memcheck_linux
- .linux_qt_tester_priv_tags
- .cmake_test_artifacts
- .run_automatically
dependencies:
- build:fedora33-tsan
needs:
- build:fedora33-tsan
build:fedora33-ubsan:
extends:
- .fedora33_ubsan
- .cmake_build_linux
- .linux_qt_builder_tags
- .cmake_build_artifacts
- .run_manually
test:fedora33-ubsan:
extends:
- .fedora33_ubsan
- .cmake_memcheck_linux
- .linux_qt_tester_priv_tags
- .cmake_test_artifacts
- .run_automatically
dependencies:
- build:fedora33-ubsan
needs:
- build:fedora33-ubsan
## Documentation
build:documentation:
extends:
- .fedora33_doxygen_mpi_python_qt_tbb
- .cmake_build_linux
- .linux_qt_builder_tags
- .cmake_doxygen_artifacts
- .run_manually
upload:documentation:
extends:
- .rsync_upload
- .upload_only
dependencies:
- build:documentation
needs:
- build:documentation
variables:
SRC_SUBDIR: install/usr/share/doc/vtk/doxygen/html/
RSYNC_DESTINATION: VTKDoxygen/html
# macOS
build:macos-kits-python-qt:
extends:
- .macos_kits_python_qt
- .cmake_build_macos
- .macos_builder_tags
- .cmake_build_artifacts
- .run_manually
# Some of the macOS runners are not very powerful.
timeout: 2 hours
test:macos-kits-python-qt:
extends:
- .macos_kits_python_qt
- .cmake_test_macos
- .macos_builder_tags
- .cmake_test_artifacts
- .run_automatically
dependencies:
- build:macos-kits-python-qt
needs:
- build:macos-kits-python-qt
# FIXME: This is not working because Qt uses @rpath/ for its library
# references. Since we're using a `nonconcurrent` runner for this, we can't
# bake in any paths at build time. However, to install Qt next to it, we need
# to provide the whole thing to avoid building against one Qt and using another
# at runtime. The external testing framework can't provide the rpath because
# tests exists that are just Python scripts, so `vtkpython` needs to work
# standalone.
#
# test-ext:vtk:macos-kits-python-qt:
# extends:
# - .macos_kits_python_qt_ext_vtk
# - .cmake_test_external_macos
# - .macos_ext_builder_tags
# - .cmake_tidy_artifacts
# - .run_automatically
# dependencies:
# - test:macos-kits-python-qt
# needs:
# - test:macos-kits-python-qt
# Windows
build:windows-vs2019-kits-mpi-python-qt:
extends:
- .windows_vs2019_kits_mpi_python_qt
- .cmake_build_windows
- .windows_builder_tags
- .cmake_build_artifacts
- .run_manually
test:windows-vs2019-kits-mpi-python-qt:
extends:
- .windows_vs2019_kits_mpi_python_qt
- .cmake_test_windows
- .windows_tester_tags
- .cmake_test_artifacts
- .run_automatically
dependencies:
- build:windows-vs2019-kits-mpi-python-qt
needs:
- build:windows-vs2019-kits-mpi-python-qt
# This is disabled because VTK-m doesn't make a relocatable installation of its
# imported targets (cf. `vtkm::tbb` since it embeds the build-time locations
# into the install tree. Since the build/install time path is not the same as
# this `concurrent`-tagged job, it's just not going to work well. See
# vtk/vtk-m#609 for tracking.
#
# Also, the `VTK_DLL_DIRS` ends up making a non-relocatable installation. See
# `.gitlab/ci/configure_windows.cmake` for the relevant code.
#
# test-ext:vtk:windows-vs2019-kits-mpi-python-qt:
# extends:
# - .windows_vs2019_kits_mpi_python_qt_ext_vtk
# - .cmake_test_external_windows
# - .windows_ext_builder_tags
# - .cmake_tidy_artifacts
# - .run_automatically
# dependencies:
# - test:windows-vs2019-kits-mpi-python-qt
# needs:
# - test:windows-vs2019-kits-mpi-python-qt
build:windows-vs2019-mpi-python-qt:
extends:
- .windows_vs2019_mpi_python_qt
- .cmake_build_windows
- .windows_builder_tags
- .cmake_build_artifacts
- .run_manually
test:windows-vs2019-mpi-python-qt:
extends:
- .windows_vs2019_mpi_python_qt
- .cmake_test_windows
- .windows_tester_tags
- .cmake_test_artifacts
- .run_automatically
dependencies:
- build:windows-vs2019-mpi-python-qt
needs:
- build:windows-vs2019-mpi-python-qt
build:windows-vs2019-mpi-python-qt-static:
extends:
- .windows_vs2019_mpi_python_qt_static
- .cmake_build_windows
- .windows_builder_tags
- .cmake_build_artifacts
- .run_manually
test:windows-vs2019-mpi-python-qt-static:
extends:
- .windows_vs2019_mpi_python_qt_static
- .cmake_test_windows
- .windows_tester_tags
- .cmake_test_artifacts
- .run_automatically
dependencies:
- build:windows-vs2019-mpi-python-qt-static
needs:
- build:windows-vs2019-mpi-python-qt-static
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化