Public Release Procedure for Projects

From NovaOrdis Knowledge Base
Revision as of 15:20, 23 July 2016 by Ovidiu (talk | contribs)
Jump to navigation Jump to search

Internal

Procedure

Run release Locally

The procedure will:

  • increment the version string appropriately
  • run tests to make sure that increase in version number does not break functionality
  • commit changes
  • optionally tag using a tag name convention that uses the release name (snapshot releases are not tagged).
  • push
  • build the installable release artifact, if the project renders itself to that. This will be referred to as "the binary", and it shall be used as "release binary" at the next step.

At the end of the procedure, the Git tag used to tag the release will be displayed, so it can be used at the next step.

Example:

release info

release minor
releasing 2.4, is this OK? [y/n] y
[...]
git add ok
[...]
git commit ok
git tag ok, tagged with release-2.4
[...]
git push ok

[...]

A new minor version (2.4) was released, committed to repository and tagged.
If you want to create an official GitHub release, use tag "release-2.4" and the following binary: ./bin/../target/events-2.4.zip

Make a GitHub Release

Go to GitHub project page -> Releases.

The tag should already by there.

Draft a new release

Tag: release-2.4

The logic should recognize it as "Existing tag"

Release title: 2.4

Describe the release: Introduced features, bug fixes. This will be part of the release history. Projects maintain notes to be consolidated into the release announcement in ./doc/release-notes.txt.

Clean ./doc/release-notes.txt and commit.

cat /dev/null > ./doc/release-notes.txt
git add ./doc/release-notes.txt
git commit -m "cleaned ./doc/release-notes.txt post-release"
git push

If is an installable release, attach binaries by dropping them here or selecting them: ...

Publish release.