diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c6c369b49dc46e1b174c8505b748c6443f597854..225cfdcedea04eda8ccd9bf33e03973643d06c58 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,7 @@ stages: - build_image + - upload_binary + - release build_and_tag_image: @@ -15,7 +17,28 @@ build_and_tag_image: --destination "${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG}" rules: - if: $CI_COMMIT_TAG + artifacts: + when: always + paths: + - gocanary + +upload: + stage: upload_binary + image: curlimages/curl:latest + script: + - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file gocanary "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/gocanary/${CI_COMMIT_TAG}/gocanary"' + rules: + - if: $CI_COMMIT_TAG +release: + stage: release + image: registry.gitlab.com/gitlab-org/release-cli:latest + script: + - release-cli create --name release-branch-$CI_JOB_ID --description "Some description" + --tag-name $CI_COMMIT_TAG + --assets-link '{"name":"Binary","url":"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/gocanary/${CI_COMMIT_TAG}/gocanary","link_type":"package"}' + rules: + - if: $CI_COMMIT_TAG build_latest: stage: build_image