diff options
author | Brad King <brad.king@kitware.com> | 2020-09-30 12:09:04 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2020-09-30 12:09:10 (GMT) |
commit | 36035559ccc0b9eda288ffc35118c3f2b8056fd3 (patch) | |
tree | 492d113061abfc9cf5ab962fe6d781c7e90e68ef | |
parent | a7624adecf8b28c3f064af778ef574013dc96740 (diff) | |
parent | 448b411d999d0247038aca659506aa6f3962f7f6 (diff) | |
download | CMake-36035559ccc0b9eda288ffc35118c3f2b8056fd3.zip CMake-36035559ccc0b9eda288ffc35118c3f2b8056fd3.tar.gz CMake-36035559ccc0b9eda288ffc35118c3f2b8056fd3.tar.bz2 |
Merge topic 'ci-src-package'
448b411d99 gitlab-ci: add a job to upload source packages
45633a6297 gitlab-ci: add a job to make source packages
17decc4691 gitlab-ci: re-organize packaging pipeline
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5297
-rw-r--r-- | .gitlab-ci.yml | 49 | ||||
-rw-r--r-- | .gitlab/artifacts.yml | 3 | ||||
-rw-r--r-- | .gitlab/ci/cmake_version.cmake | 3 | ||||
-rwxr-xr-x | .gitlab/ci/cmake_version.sh | 2 | ||||
-rw-r--r-- | .gitlab/os-linux.yml | 29 | ||||
-rw-r--r-- | .gitlab/os-macos.yml | 2 |
6 files changed, 73 insertions, 15 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f4ebb02..5c9865e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,9 +12,9 @@ include: - local: .gitlab/upload.yml stages: + - prep - build - test - - package - test-ext - upload @@ -34,6 +34,35 @@ stages: # - 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: @@ -57,14 +86,6 @@ build:fedora31-sphinx: - .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: @@ -180,7 +201,7 @@ test:macos-xcode: needs: - test:macos-ninja -package:macos: +build:macos-package: extends: - .macos_package - .cmake_build_macos_package @@ -188,18 +209,18 @@ package:macos: - .macos_builder_tags_package - .run_only_for_package dependencies: - - build:fedora31-sphinx-package + - prep:doc needs: - - build:fedora31-sphinx-package + - prep:doc upload:macos: extends: - .rsync_upload - .run_only_for_package dependencies: - - package:macos + - build:macos-package needs: - - package:macos + - build:macos-package variables: RSYNC_DESTINATION: dev diff --git a/.gitlab/artifacts.yml b/.gitlab/artifacts.yml index f1c0c7e..1c24003 100644 --- a/.gitlab/artifacts.yml +++ b/.gitlab/artifacts.yml @@ -74,6 +74,9 @@ # Any packages made. - build/cmake-*-Linux-x86_64.* - build/cmake-*-Darwin-x86_64.* + # Any source packages made. + - build/cmake-*.tar.gz + - build/cmake-*.zip .cmake_test_artifacts: artifacts: diff --git a/.gitlab/ci/cmake_version.cmake b/.gitlab/ci/cmake_version.cmake new file mode 100644 index 0000000..ef9f7f2 --- /dev/null +++ b/.gitlab/ci/cmake_version.cmake @@ -0,0 +1,3 @@ +get_filename_component(CMake_SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/../.." ABSOLUTE) +include("${CMake_SOURCE_DIR}/Source/CMakeVersion.cmake") +message(STATUS ${CMake_VERSION}) diff --git a/.gitlab/ci/cmake_version.sh b/.gitlab/ci/cmake_version.sh new file mode 100755 index 0000000..03b1614 --- /dev/null +++ b/.gitlab/ci/cmake_version.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +cmake -P "${BASH_SOURCE%/*}/cmake_version.cmake" | cut -d ' ' -f 2 diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index 75f8156..74b2de7 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -11,6 +11,12 @@ GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" LAUNCHER: "scl enable devtoolset-6 rh-python36 --" +.linux_prep_source: + image: "fedora:32" + + variables: + GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" + ### Debian .debian10: @@ -143,6 +149,29 @@ - cmake --version - ninja --version +.cmake_prep_source_linux: + stage: prep + + script: + - *before_script_linux + - dnf install --setopt=install_weak_deps=False -y git-core + - v="$(.gitlab/ci/cmake_version.sh)" + - mkdir -p build/ + - git archive --format=tgz "--prefix=cmake-$v/" -o "build/cmake-$v.tar.gz" HEAD + - git -c core.autocrlf=true -c core.eol=crlf archive --format=zip --prefix="cmake-$v/" -o "build/cmake-$v.zip" HEAD + + interruptible: true + +.cmake_prep_doc_linux: + stage: prep + + script: + - *before_script_linux + - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_configure.cmake" + - "$LAUNCHER ctest -VV -S .gitlab/ci/ctest_build.cmake" + + interruptible: true + .cmake_build_linux: stage: build diff --git a/.gitlab/os-macos.yml b/.gitlab/os-macos.yml index 47e81d1..a500d36 100644 --- a/.gitlab/os-macos.yml +++ b/.gitlab/os-macos.yml @@ -111,7 +111,7 @@ interruptible: true .cmake_build_macos_package: - stage: package + stage: build script: - *before_script_macos |