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