Commit 111e42de authored by Jacob Vosmaer's avatar Jacob Vosmaer Committed by Nick Thomas

Update release process

parent 923ecb0a
...@@ -88,10 +88,15 @@ clean-workhorse: ...@@ -88,10 +88,15 @@ clean-workhorse:
$(call message,$@) $(call message,$@)
rm -f $(EXE_ALL) rm -f $(EXE_ALL)
.PHONY: release .PHONY: tag
release: tag:
$(call message,$@) $(call message,$@)
sh _support/release.sh sh _support/tag.sh
.PHONY: signed_tag
signed_tag:
$(call message,$@)
TAG_OPTS=-s sh _support/tag.sh
.PHONY: clean-build .PHONY: clean-build
clean-build: clean-build:
......
...@@ -19,11 +19,14 @@ The final merge must be performed by a maintainer. ...@@ -19,11 +19,14 @@ The final merge must be performed by a maintainer.
New versions of Workhorse can be released by one of the Workhorse New versions of Workhorse can be released by one of the Workhorse
maintainers. The release process is: maintainers. The release process is:
- create a merge request to update CHANGELOG and VERSION on the - pick a release branch. For x.y.0, use `master`. For all other
respective release branch (usually `master`) versions (x.y.1, x.y.2 etc.) , use `x-y-stable`. Also see [below](#versioning)
- make sure the new version number adheres to our [versioning standard](#versioning) - create a merge request to update CHANGELOG and VERSION on the
- merge the merge request release branch
- run `make release` on the release branch - merge the merge request
- run `make tag` or `make signed_tag` on the release branch. This will
make a tag matching the VERSION file.
- push the tag to gitlab.com
## Versioning ## Versioning
......
set -e set -e
remotes='https://gitlab.com/gitlab-org/gitlab-workhorse.git'
main() { main() {
get_version get_version
tag_name="v${version}" tag_name="v${version}"
git tag -m "Version ${version}" -a ${tag_name} git tag $TAG_OPTS -m "Version ${version}" -a ${tag_name}
git show ${tag_name} git show ${tag_name}
echo cat <<'EOF'
echo "Does this look OK? Enter 'yes' to push to ${remotes}"
read confirmation Remember to now push your tag, either to gitlab.com (for a
if [ "x${confirmation}" != xyes ] ; then normal release) or dev.gitlab.org (for a security release).
echo "Aborting" EOF
exit 1
fi
for r in ${remotes}; do
git push "${r}" HEAD ${tag_name}
done
} }
get_version() { get_version() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment