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