[Tarantool-patches] [PATCH v1] gitlab-ci: move sources tarball creation to gitlab
Alexander V. Tikhonov
avtikhon at tarantool.org
Tue Apr 14 17:55:06 MSK 2020
Moved sources tarball creation from travis-ci to gitlab-ci,
moved its jobs for sources packing and sources deploying.
Close #4895
---
Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4895-sources-to-gitlab-full-ci
Issue: https://github.com/tarantool/tarantool/issues/4895
.gitlab-ci.yml | 12 +++++++++++-
.gitlab.mk | 22 +++++++++++++++++-----
.travis.mk | 32 --------------------------------
.travis.yml | 20 --------------------
4 files changed, 28 insertions(+), 58 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cd710027f..a37c1ba6b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -261,7 +261,12 @@ remove_images:
script:
- ${GITLAB_MAKE} perf_cleanup
-# Packs
+# Packages and sources
+
+sources:
+ <<: *pack_definition
+ script:
+ - ${GITLAB_MAKE} source
centos_6:
<<: *pack_definition
@@ -355,6 +360,11 @@ debian_10:
# Deploy
+sources_deploy:
+ <<: *deploy_definition
+ script:
+ - ${GITLAB_MAKE} source_deploy
+
centos_6_deploy:
<<: *deploy_definition
variables:
diff --git a/.gitlab.mk b/.gitlab.mk
index 9c0b85cfe..7079b489c 100644
--- a/.gitlab.mk
+++ b/.gitlab.mk
@@ -110,17 +110,22 @@ vms_test_%:
vms_shutdown:
VBoxManage controlvm ${VMS_NAME} poweroff
-# ########
-# Packages
-# ########
+# ######
+# Deploy
+# ######
GIT_DESCRIBE=$(shell git describe HEAD)
MAJOR_VERSION=$(word 1,$(subst ., ,$(GIT_DESCRIBE)))
MINOR_VERSION=$(word 2,$(subst ., ,$(GIT_DESCRIBE)))
BUCKET="$(MAJOR_VERSION).$(MINOR_VERSION)"
-package: git_submodule_update
- git clone https://github.com/packpack/packpack.git packpack
+deploy_prepare: git_submodule_update
+ pip install awscli --user
+ [ -d packpack ] || \
+ git clone https://github.com/packpack/packpack.git packpack
+ rm -rf build
+
+package: deploy_prepare
PACKPACK_EXTRA_DOCKER_RUN_PARAMS='--network=host' ./packpack/packpack
deploy: package
@@ -132,6 +137,13 @@ deploy: package
-b="${RELEASE_REPO_S3_DIR}/${BUCKET}" build ; \
fi
+source: deploy_prepare
+ TARBALL_COMPRESSOR=gz packpack/packpack tarball
+
+source_deploy: source
+ aws --endpoint-url "${AWS_S3_ENDPOINT_URL}" s3 cp build/*.tar.gz \
+ "s3://tarantool.${BUCKET}.src/" --acl public-read
+
# ###################
# Performance testing
# ###################
diff --git a/.travis.mk b/.travis.mk
index f709a18b6..ad09ea6ad 100644
--- a/.travis.mk
+++ b/.travis.mk
@@ -211,35 +211,3 @@ test_freebsd_no_deps: build_freebsd
cd test && python2.7 test-run.py --force $(TEST_RUN_EXTRA_PARAMS)
test_freebsd: deps_freebsd test_freebsd_no_deps
-
-####################
-# Sources tarballs #
-####################
-
-source:
- git clone https://github.com/packpack/packpack.git packpack
- TARBALL_COMPRESSOR=gz packpack/packpack tarball
-
-# Push alpha and beta versions to <major>x bucket (say, 2x),
-# stable to <major>.<minor> bucket (say, 2.2).
-ifeq ($(TRAVIS_BRANCH),master)
-GIT_DESCRIBE=$(shell git describe HEAD)
-MAJOR_VERSION=$(word 1,$(subst ., ,$(GIT_DESCRIBE)))
-MINOR_VERSION=$(word 2,$(subst ., ,$(GIT_DESCRIBE)))
-else
-MAJOR_VERSION=$(word 1,$(subst ., ,$(TRAVIS_BRANCH)))
-MINOR_VERSION=$(word 2,$(subst ., ,$(TRAVIS_BRANCH)))
-endif
-BUCKET=tarantool.$(MAJOR_VERSION).$(MINOR_VERSION).src
-ifeq ($(MINOR_VERSION),0)
-BUCKET=tarantool.$(MAJOR_VERSION)x.src
-endif
-ifeq ($(MINOR_VERSION),1)
-BUCKET=tarantool.$(MAJOR_VERSION)x.src
-endif
-
-source_deploy:
- pip install awscli --user
- aws --endpoint-url "${AWS_S3_ENDPOINT_URL}" s3 \
- cp build/*.tar.gz "s3://${BUCKET}/" \
- --acl public-read
diff --git a/.travis.yml b/.travis.yml
index c63ab3ebd..593ef7474 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -34,9 +34,6 @@ jobs:
- name: "Debug build + test + coverage (Linux, gcc)"
env: TARGET=coverage
# Deploy targets (they also catch distro-specific problems).
- - name: "Create and deploy tarball"
- env: TARGET=source
- if: branch = "master"
- name: "CentOS 6 build + deploy RPM"
env: OS=el DIST=6
if: branch = "master"
@@ -102,14 +99,6 @@ deploy:
repo: tarantool/tarantool
branch: "master"
condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
- # Deploy source tarballs to S3 from master branch (w/o tagged revisions)
- - provider: script
- script: make -f .travis.mk source_deploy
- skip_cleanup: true
- on:
- repo: tarantool/tarantool
- branch: "master"
- condition: "x${TARGET} = xsource"
# Deploy packages to PackageCloud from tagged revisions
# https://github.com/travis-ci/travis-ci/issues/7780#issuecomment-302389370
- provider: packagecloud
@@ -123,15 +112,6 @@ deploy:
repo: tarantool/tarantool
tags: true
condition: -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
- # Deploy source tarballs to S3 from tagged revisions
- # https://github.com/travis-ci/travis-ci/issues/7780#issuecomment-302389370
- - provider: script
- script: make -f .travis.mk source_deploy
- skip_cleanup: true
- on:
- repo: tarantool/tarantool
- tags: true
- condition: "x${TARGET} = xsource"
notifications:
email:
--
2.17.1
More information about the Tarantool-patches
mailing list