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 - docker .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 - echo "https://$USERNAME:$CI_TOKEN@git.mesalab.cn" > .git-credentials - git config --global credential.helper 'store --file .git-credentials' - git submodule sync --recursive - git submodule update --init --recursive .mesa_plug: extends: .build_before_script image: git.mesalab.cn:7443/ntc/soq_master:collect script: - source /etc/profile.d/MESA.sh - mkdir -p build - cd build - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DENABLE_T1_SWITCH=$T1_SWICTH -DENABLE_T2_SWITCH=$T2_SWICTH -DENABLE_NTC_SWITCH=$NTC_SWITCH - make - make package build-soq: stage: build extends: .mesa_plug tags: - share variables: BUILD_TYPE: "Debug" T1_SWICTH: "ON" T2_SWICTH: "ON" NTC_SWITCH: "OFF" except: - tags build-ntc: stage: build extends: .mesa_plug tags: - share variables: BUILD_TYPE: "Debug" T1_SWICTH: "ON" T2_SWICTH: "ON" NTC_SWITCH: "ON" except: - tags artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME" paths: - ./build/*.rpm t1-plug-soq: stage: package extends: .mesa_plug tags: - share variables: BUILD_TYPE: "Release" T1_SWICTH: "ON" T2_SWICTH: "OFF" NTC_SWITCH: "OFF" artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME" paths: - ./build/*.rpm only: - tags t2-plug-soq: stage: package extends: .mesa_plug tags: - share variables: BUILD_TYPE: "Release" T1_SWICTH: "OFF" T2_SWICTH: "ON" NTC_SWITCH: "OFF" artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME" paths: - ./build/*.rpm only: - tags t1-plug-ntc: stage: package extends: .mesa_plug tags: - share variables: BUILD_TYPE: "Release" T1_SWICTH: "ON" T2_SWICTH: "OFF" NTC_SWITCH: "ON" artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME" paths: - ./build/*.rpm only: - tags t2-plug-ntc: stage: package extends: .mesa_plug tags: - share variables: BUILD_TYPE: "Release" T1_SWICTH: "OFF" T2_SWICTH: "ON" NTC_SWITCH: "ON" artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME" paths: - ./build/*.rpm only: - tags t1-plug-soq-release: stage: release image: git.mesalab.cn:7443/ntc/soq_master:collect tags: - share variables: ARTIFACTS_JOB: "t1-plug-soq" PROJECT_NAME: "t1-plug-soq" 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 t2-plug-soq-release: stage: release image: git.mesalab.cn:7443/ntc/soq_master:collect tags: - share variables: ARTIFACTS_JOB: "t2-plug-soq" PROJECT_NAME: "t2-plug-soq" 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 t1-plug-ntc-release: stage: release image: git.mesalab.cn:7443/ntc/soq_master:collect tags: - share variables: ARTIFACTS_JOB: "t1-plug-ntc" PROJECT_NAME: "t1-plug-ntc" 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 t2-plug-ntc-release: stage: release image: git.mesalab.cn:7443/ntc/soq_master:collect tags: - share variables: ARTIFACTS_JOB: "t2-plug-ntc" PROJECT_NAME: "t2-plug-ntc" 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