Skip to content
Snippets Groups Projects
Verified Commit 432f95d3 authored by Alexander Olofsson's avatar Alexander Olofsson
Browse files

Add release stages to CI config

parent 0ef2fb5f
No related branches found
No related tags found
No related merge requests found
Pipeline #111000 passed
---
variables:
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${CI_PROJECT_NAME}/${CI_COMMIT_TAG}"
image: "ruby:2.7"
# Cache gems in between builds
......@@ -31,3 +34,75 @@ pages:
rake:
script:
- bundle exec rake test
gemfile:
script:
- gem build liudesk_cmdb.gemspec
- |
# Generate release info
GEMFILE="$(ls -1 liudesk_cmdb-*.gem)"
GEMNAME="$(basename -s '.gem' "${GEMFILE}")"
GEMVERSION="${GEMNAME#*-}"
cat <<EOF > variables.env
CI_RUBY_GEMFILE="$GEMFILE"
CI_RUBY_GEMNAME="$GEMNAME"
CI_RUBY_VERSION="$GEMVERSION"
EOF
artifacts:
paths:
- '*.gem'
reports:
dotenv: variables.env
push:gemfile:
variables:
GIT_STRATEGY: none
needs:
- job: gemfile
artifacts: true
image: curlimages/curl
script:
- |
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" "${PACKAGE_REGISTRY_URL}/${CI_RUBY_GEMFILE}" -Iso /dev/null -w "%{http_code}" | grep 200 || \
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file "${CI_RUBY_GEMFILE}" "${PACKAGE_REGISTRY_URL}/${CI_RUBY_GEMFILE}"
rules:
- if: $CI_COMMIT_TAG
push:release:
variables:
GIT_STRATEGY: none
needs:
- push:gemfile
- job: gemfile
artifacts: true
image: registry.gitlab.com/gitlab-org/release-cli:latest
script:
- echo "Running release job for $CI_COMMIT_TAG"
- |
# Create/Update release
if [ -n "$CI_RELEASE_DESCRIPTION" ]; then
echo "$CI_RELEASE_DESCRIPTION" > release.md
else
echo "${CI_COMMIT_TAG_MESSAGE:-$CI_COMMIT_MESSAGE}" > release.md
fi
sed -e '/-\+BEGIN PGP.\+/,$d' -i release.md
release-cli get > /dev/null && \
release-cli update \
--name "Version $CI_RUBY_GEMVERSION" \
--description release.md || \
release-cli create \
--name "Version $CI_RUBY_GEMVERSION" \
--description release.md \
--assets-link "{\"name\":\"$CI_RUBY_GEMFILE\",\"url\":\"${PACKAGE_REGISTRY_URL}/${CI_RUBY_GEMFILE}\",\"link_type\":\"package\"}"
rules:
- if: $CI_COMMIT_TAG
when: manual
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment