Public Release Procedure for Projects: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(11 intermediate revisions by the same user not shown)
Line 4: Line 4:


=Procedure=
=Procedure=
<font color=red>TODO: review all this in the light of the new release procedure [[nort Concepts#The_Release_Sequence]].


==Run <tt>release</tt> Locally==
==Run <tt>release</tt> Locally==
Line 17: Line 20:
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.
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:
 
 
===Procedure===


<pre>
<pre>
release info
release info
current version: 1.0.3-SNAPSHOT-4
release patch
releasing 1.0.3, is this OK? [y/n] y
...
[INFO] BUILD SUCCESS
...


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


[...]
...
[INFO] BUILD SUCCESS
...


A new minor version (2.4) was released, committed to repository and tagged.
no 'release_repository' defined in ./bin/operations.conf, the binary release available as ./bin/../target/gld-1.0.3.zip ...
If you want to create an official GitHub release, use tag "release-2.4" and the following binary: ./bin/../target/events-2.4.zip
setting next local version 1.0.4-SNAPSHOT-1, is this OK? [y/n] y


RELEASE SUMMARY:
A new patch version (1.0.3) was released, committed to repository and tagged.
If you want to create an official GitHub release, use tag "release-1.0.3" and binary gld-1.0.3.zip.
The local version has been incremented to 1.0.4-SNAPSHOT-1.
</pre>
</pre>
</font>


=Make a GitHub Release=
=Make a GitHub Release=


If the project requires a public "binary" release, go to GitHub project page -> Releases.
<blockquote style="background-color: Tomato; border: solid thin red;">
 
:<br>TODO: automate this with nort: 8.4.1 GitHub Public Release https://kb.novaordis.com/index.php/Nort_Concepts#GitHub_Public_Release<br><br>
The tag should already by there.
</blockquote>
 
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 <tt>./doc/release-notes.txt</tt>.
 
Clean <tt>./doc/release-notes.txt</tt> and commit.
 
<pre>
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
</pre>
 
If is an installable release, attach binaries by dropping them here or selecting them: ...


Publish release.
<blockquote style="background-color: #f9f9f9; border: solid thin lightgrey;">
:[[GitHub_Procedures#Making_a_Public_Release|Making a GitHub Public Release]]
</blockquote>

Latest revision as of 19:52, 28 November 2016

Internal

Procedure

TODO: review all this in the light of the new release procedure nort Concepts#The_Release_Sequence.


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.


Procedure

release info
current version: 1.0.3-SNAPSHOT-4

release patch
releasing 1.0.3, is this OK? [y/n] y

...
[INFO] BUILD SUCCESS
...

git add ok
...
git commit ok
git tag ok, tagged with release-1.0.3
...
git push ok

...
[INFO] BUILD SUCCESS
...

no 'release_repository' defined in ./bin/operations.conf, the binary release available as ./bin/../target/gld-1.0.3.zip ...
setting next local version 1.0.4-SNAPSHOT-1, is this OK? [y/n] y

RELEASE SUMMARY:

A new patch version (1.0.3) was released, committed to repository and tagged.
If you want to create an official GitHub release, use tag "release-1.0.3" and binary gld-1.0.3.zip.
The local version has been incremented to 1.0.4-SNAPSHOT-1.

Make a GitHub Release


TODO: automate this with nort: 8.4.1 GitHub Public Release https://kb.novaordis.com/index.php/Nort_Concepts#GitHub_Public_Release

Making a GitHub Public Release