Jump to: navigation, search

Difference between revisions of "Sisu/Milestones"

m
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Latest Milestones ==
 
== Latest Milestones ==
  
* 0.0.0.M0 → Initial contribution
+
* 0.0.0.M0 → initial contribution
 +
* 0.0.0.M1 → additional plexus support
 +
* 0.0.0.M2 → Plexus configurator work
 +
* 0.0.0.M2a → minor regression fixes
 +
* 0.0.0.M3 → API refactoring and cleanup
 +
* 0.0.0.M4 → Sisu extension support
  
 
== Staging Process ==
 
== Staging Process ==
  
* Sisu is still incubating so all milestone versions must start with <tt>0.</tt>
+
Scripts are available to prepare and stage Sisu milestones:
* Set milestone version using <tt>mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.<i>x</i>.<i>y</i>.M<i>z</i></tt>
+
* Commit version change and create a temporary local branch <tt>staging-0.<i>x</i>.<i>y</i>.M<i>z</i></tt> based on this commit
+
* Reset version to the next <tt>SNAPSHOT</tt> development version and push commit to <tt>master</tt> branch
+
* Switch to the <tt>staging-0.<i>x</i>.<i>y</i>.M<i>z</i></tt> branch and stage the artifacts using <tt>mvn clean deploy -Psonatype-oss-release</tt>
+
* Verify the artifacts before releasing, if you need to restage make sure any fixes are merged back to the <tt>master</tt> branch
+
* Tag the staging branch as <tt>milestones/0.<i>x</i>.<i>y</i>.M<i>z</i></tt> using <tt>git tag -u &lt;key-id&gt; ...</tt> to sign the tag
+
* Switch back to the <tt>master</tt> branch, delete the temporary local branch, and continue development ;)
+
 
+
== Example Process ==
+
  
 
<pre>
 
<pre>
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.0.0.M1
+
sh bin/prepare_milestone.sh 5
  
git add . ; git commit -m "Milestone 0.0.0.M1"
+
GPG_KEYNAME=mcculls@gmail.com sh bin/perform_milestone.sh 5 "various fixes"
  
git checkout --no-track -b staging-0.0.0.M1
+
git push --tags  # only push tags once you're happy with the staged milestone
 +
</pre>
  
git diff milestones/0.0.0.M0 --patience --color-words=[^[:space:]]
+
Note: Sisu is still incubating so all versions must start with <tt>0.</tt>
 
+
mvn clean deploy -Psonatype-oss-release -Dgpg.keyname=mcculls@gmail.com -Dgpg.useagent
+
 
+
git checkout master
+
 
+
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.0.0-SNAPSHOT
+
 
+
git add . ; git commit -m "Prepare for next round of development"
+
 
+
git diff origin/master
+
 
+
git push
+
 
+
git tag -u mcculls@gmail.com milestones/0.0.0.M1 staging-0.0.0.M1
+
 
+
git tag -v milestones/0.0.0.M1
+
 
+
git branch -D staging-0.0.0.M1
+
 
+
git push --tags
+
</pre>
+
  
 
[[Category:Sisu]]
 
[[Category:Sisu]]

Revision as of 22:56, 17 July 2013

Latest Milestones

  • 0.0.0.M0 → initial contribution
  • 0.0.0.M1 → additional plexus support
  • 0.0.0.M2 → Plexus configurator work
  • 0.0.0.M2a → minor regression fixes
  • 0.0.0.M3 → API refactoring and cleanup
  • 0.0.0.M4 → Sisu extension support

Staging Process

Scripts are available to prepare and stage Sisu milestones:

sh bin/prepare_milestone.sh 5

GPG_KEYNAME=mcculls@gmail.com sh bin/perform_milestone.sh 5 "various fixes"

git push --tags  # only push tags once you're happy with the staged milestone

Note: Sisu is still incubating so all versions must start with 0.