51 lines
1.8 KiB
YAML
51 lines
1.8 KiB
YAML
image: "git.mesalab.cn:7443/mesa_framework/framework-build-env:master"
|
|
stages:
|
|
- build
|
|
#- test
|
|
#- package
|
|
- release
|
|
|
|
variables:
|
|
TOKEN: "LWsss-XPxWuP-Esv-dF7"
|
|
ARTIFACTS_JOB: "build"
|
|
|
|
build:
|
|
stage: build
|
|
script:
|
|
- mkdir -p build
|
|
- cd build
|
|
- cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_PREFIX_PATH=$BUILD_PREFIX
|
|
- make
|
|
- make package
|
|
tags:
|
|
- share
|
|
variables:
|
|
BUILD_TYPE: "Debug"
|
|
BUILD_PREFIX: "/opt/MESA/"
|
|
only:
|
|
- tags
|
|
artifacts:
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME-debug"
|
|
paths:
|
|
- ./build/*.rpm
|
|
|
|
.get_release_cmd: &get_release_cmd |
|
|
echo -e "curl --header \"PRIVATE-TOKEN: $TOKEN\" $CI_API_V4_URL/projects/$CI_PROJECT_ID/releases/$CI_COMMIT_TAG"
|
|
|
|
.create_link_cmd: &create_link_cmd |
|
|
echo -e "curl --request POST --header \"PRIVATE-TOKEN: $TOKEN\" --data name=\"$CI_PROJECT_NAME_$CI_COMMIT_TAG_artifacts.zip\" --data url=\"$CI_PROJECT_URL/-/jobs/artifacts/$CI_COMMIT_TAG/download?job=$ARTIFACTS_JOB\\" $CI_API_V4_URL/projects/$CI_PROJECT_ID/releases/$CI_COMMIT_TAG/assets/links""
|
|
|
|
.create_release_cmd: &create_release_cmd |
|
|
echo -e "curl --header 'Content-Type: application/json' --header \"PRIVATE-TOKEN: $TOKEN\" --data '{ \"name\": \"$CI_COMMIT_TAG.zip\", \"tag_name\": \"$CI_COMMIT_TAG\", \"description\": \"$CI_COMMIT_MESSAGE \", \"assets\": { \"links\": [{ \"name\": \"$CI_PROJECT_NAME_$CI_COMMIT_TAG.zip\", \"url\": \"$CI_PROJECT_URL/-/jobs/artifacts/$CI_COMMIT_TAG/download?job=$ARTIFACTS_JOB\" }] } }' --request POST $CI_API_V4_URL/projects/$CI_PROJECT_ID/releases/"""
|
|
|
|
release:
|
|
stage: release
|
|
tags:
|
|
- share
|
|
only:
|
|
- tags
|
|
script:
|
|
- *get_release_cmd
|
|
- *create_link_cmd
|
|
- *create_release_cmd
|
|
- res=`*get_release_cmd| /bin/bash` && if [[ $res =~ "200" ]]; then *create_link_cmd|/bin/bash; else *create_release_cmd|/bin/bash; fi |