Public Release Procedure for Projects: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 5: Line 5:
=Procedure=
=Procedure=


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




Line 56: Line 56:
</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>
</blockquote>


The tag should already by there.
<blockquote style="background-color: #f9f9f9; border: solid thin lightgrey;">
 
:[[GitHub_Procedures#Making_a_Public_Release|Making a GitHub Public Release]]
Draft a new release
</blockquote>
 
Copy and paste the release tag from the local release procedure output.
 
Tag: release-1.0.3
 
The logic should recognize it as "Existing tag"
 
Release title: 1.0.3
 
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: "Attach binaries by dropping them or selecting them."
 
If it is a library release, select the JAR and the source JAR from the project's target directory and attach them.
 
Publish release.
 
</font>

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