This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
tango-tsg-master/.gitlab-ci.yml
2020-01-17 16:28:55 +08:00

143 lines
3.2 KiB
YAML

image: "docker:stable"
services:
- docker:dind
variables:
GIT_STRATEGY: "clone"
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
stages:
- build
- fvt
- package
- release
- docker
.fvt:
image: git.mesalab.cn:7443/mesa_platform/mesa_protocol:master
script:
- rpm -ivh build/*.rpm
- source /etc/profile.d/MESA.sh
- cd /home/mesasoft/
- git clone https://$USER_NAME:$CI_TOKEN@git.mesalab.cn/tango/fvt.git
- cd fvt/
- sh +x ./fvt_verify.sh /home/mesasoft/sapp_run/ /home/mesasoft/sapp_run/tsgconf/tsg_maat.json /home/mesasoft/sapp_run/tsglog/tsglog /home/mesasoft/fvt/master
.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
.build_master:
extends: .build_before_script
image: git.mesalab.cn:7443/mesa_platform/mesa_protocol:master
script:
- source /etc/profile.d/MESA.sh
- mkdir -p build
- cd build
- cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE
- make
- make package
.package_master:
extends: .build_before_script
image: git.mesalab.cn:7443/mesa_platform/mesa_protocol:master
script:
- source /etc/profile.d/MESA.sh
- mkdir -p build
- cd build
- cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE
- make package
build:
stage: build
extends: .build_master
tags:
- share
variables:
BUILD_TYPE: "Debug"
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
paths:
- ./build/*.rpm
except:
- tags
fvt:
stage: fvt
extends: .fvt
tags:
- share
except:
- tags
tsg-master-release:
stage: package
extends: .package_master
tags:
- share
variables:
BUILD_TYPE: "Release"
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
paths:
- ./build/*.rpm
only:
- tags
tsg-master-debug:
stage: package
extends: .package_master
tags:
- share
variables:
BUILD_TYPE: "Debug"
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
paths:
- ./build/*.rpm
only:
- tags
release-tsg-master-debug:
stage: release
image: git.mesalab.cn:7443/mesa_platform/mesa_protocol:master
tags:
- share
variables:
ARTIFACTS_JOB: "tsg-master-debug"
PROJECT_NAME: "tsg-master"
USER_DEFINE: "debug"
only:
- tags
script:
- /bin/bash -x ./autorelease.sh $CI_API_V4_URL $CI_PROJECT_URL $CI_PROJECT_ID $CI_TOKEN $CI_COMMIT_TAG $ARTIFACTS_JOB $PROJECT_NAME $USER_DEFINE
release-tsg-master-release:
stage: release
image: git.mesalab.cn:7443/mesa_platform/mesa_protocol:master
tags:
- share
variables:
ARTIFACTS_JOB: "tsg-master-release"
PROJECT_NAME: "tsg-master"
USER_DEFINE: "release"
only:
- tags
script:
- /bin/bash -x ./autorelease.sh $CI_API_V4_URL $CI_PROJECT_URL $CI_PROJECT_ID $CI_TOKEN $CI_COMMIT_TAG $ARTIFACTS_JOB $PROJECT_NAME $USER_DEFINE
build-docker:
stage: docker
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:
- master