summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-09-30 12:09:04 (GMT)
committerKitware Robot <kwrobot@kitware.com>2020-09-30 12:09:10 (GMT)
commit36035559ccc0b9eda288ffc35118c3f2b8056fd3 (patch)
tree492d113061abfc9cf5ab962fe6d781c7e90e68ef
parenta7624adecf8b28c3f064af778ef574013dc96740 (diff)
parent448b411d999d0247038aca659506aa6f3962f7f6 (diff)
downloadCMake-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.yml49
-rw-r--r--.gitlab/artifacts.yml3
-rw-r--r--.gitlab/ci/cmake_version.cmake3
-rwxr-xr-x.gitlab/ci/cmake_version.sh2
-rw-r--r--.gitlab/os-linux.yml29
-rw-r--r--.gitlab/os-macos.yml2
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