From 46679bc7e743113e0d82a5e6b85bdf41a3db8d4d Mon Sep 17 00:00:00 2001 From: Eduardo Trujillo <ed@chromabits.com> Date: Sat, 26 Dec 2020 22:48:46 -0800 Subject: [PATCH] chore(gitlab): Add CI support for building releases --- .gitlab-ci.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 28529bb..d3b9dfa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,12 @@ stages: - build - test + - upload + - release + +variables: + LINUX_AMD64_BINARY: "shift-linux-amd64-${CI_COMMIT_TAG}" + PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/shift/${CI_COMMIT_TAG}" stack-build: stage: build @@ -14,6 +20,13 @@ stack-build: - export STACK_ROOT="$CI_PROJECT_DIR/.stack" script: - stack --no-terminal build + - mkdir bin + - bash -c "cp $(stack path --local-install-root)/bin/shift bin/" + artifacts: + untracked: false + expire_in: 30 days + paths: + - bin/ stack-test: stage: test @@ -28,3 +41,22 @@ stack-test: - export STACK_ROOT="$CI_PROJECT_DIR/.stack" script: - stack --no-terminal test + +upload: + stage: upload + image: curlimages/curl:latest + rules: + - if: $CI_COMMIT_TAG + script: + - | + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file bin/shift ${PACKAGE_REGISTRY_URL}/${LINUX_AMD64_BINARY} + +release: + stage: release + image: registry.gitlab.com/gitlab-org/release-cli:latest + rules: + - if: $CI_COMMIT_TAG + script: + - | + release-cli create --name "Release $CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG \ + --assets-link "{\"name\":\"${LINUX_AMD64_BINARY}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${LINUX_AMD64_BINARY}\"}" -- GitLab