summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml82
1 files changed, 82 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..fe4b701
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,82 @@
+image: "docker:stable"
+
+services:
+ - docker:dind
+
+variables:
+ GIT_STRATEGY: "clone"
+ DOCKER_HOST: tcp://docker:2375
+ DOCKER_DRIVER: overlay2
+ IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
+
+stages:
+ - build
+ - package
+ - release
+
+.build_before_script:
+ before_script:
+ - mkdir -p /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_NAMESPACE/
+ - ln -s $CI_PROJECT_DIR /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH
+ - cd /tmp/padding_for_CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX/$CI_PROJECT_PATH
+
+.bgp:
+ extends: .build_before_script
+ image: git.mesalab.cn:7443/mesa_framework/framework:master
+ script:
+ - cp src/bgp.h /opt/MESA/include/MESA/
+ - source /etc/profile.d/MESA.sh
+ - mkdir -p build
+ - cd build
+ - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE
+ - make
+ - make package
+
+build:
+ stage: build
+ extends: .bgp
+ tags:
+ - share
+ variables:
+ BUILD_TYPE: "Release"
+ except:
+ - tags
+
+#build-docker:
+# stage: build
+# script:
+# - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
+# - docker build -t $IMAGE_TAG .
+# - docker push $IMAGE_TAG
+# tags:
+# - share
+# only:
+# - tags
+
+bgp:
+ stage: package
+ extends: .bgp
+ tags:
+ - share
+ variables:
+ BUILD_TYPE: "Release"
+ artifacts:
+ name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
+ paths:
+ - ./build/*.rpm
+ only:
+ - tags
+
+release:
+ stage: release
+ image: git.mesalab.cn:7443/mesa_framework/framework:master
+ tags:
+ - share
+ only:
+ - tags
+ variables:
+ ARTIFACTS_JOB: "bgp"
+ PROJECT_NAME: "bgp"
+ USER_DEFINE: "release"
+ script:
+ - /bin/bash -x ./autorelease.sh $CI_API_V4_URL $CI_PROJECT_URL $CI_PROJECT_ID $CI_TOKEN $CI_COMMIT_TAG $ARTIFACTS_JOB $CI_PROJECT_NAME $USER_DEFINE