Skip to content
Snippets Groups Projects
Commit 46679bc7 authored by Eduardo Trujillo's avatar Eduardo Trujillo
Browse files

chore(gitlab): Add CI support for building releases

parent 26e0bbbe
No related branches found
No related tags found
No related merge requests found
Pipeline #110 passed
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}\"}"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment