PicketLink 2.1.x release procedure

Prerequisites

  • your local git repository has following remotes:
$ git remote -v show
origin  git@github.com:<git_user>/federation.git (fetch)
origin  git@github.com:<git_user>/federation.git (push)
rhgit   git+ssh://git.app.eng.bos.redhat.com/srv/git/picketlink/federation.git (fetch)
rhgit   git+ssh://git.app.eng.bos.redhat.com/srv/git/picketlink/federation.git (push)
upstream        git@github.com:picketlink/federation.git (fetch)
upstream        git@github.com:picketlink/federation.git (push)

 

Pre-release steps:

use this section when you don't have latest changes from upstream repository

 

  1. fetch the latest changes from upstream remote repository using: git fetch upstream
  2. make sure you are in master branch by git checkout master
  3. rebase mater to upstream/master using git rebase -i upstream/master
  4. inspect master branch using for example gitk --all
    Find exact commit you want to place your master pointer at.
  5. Move master pointer to the commit selected from previous step.
    git reset --hard <commit>
    It can be done directly from gitk right-clicking desired commit line and selecting "Reset master branch to here". Choose hard mode.
    Make sure you have no uncomited changes, because they will go away ;-)

 

 

Ensure that you have created a JIRA release task such as https://issues.jboss.org/browse/PLFED-297

 

Release: git repo part

if your master is already at last commit you want to release

 

  1. change <version> in all appropriate files:
    perl -pi -e 's/2.1.0-SNAPSHOT/2.1.0.Final/g' `find . -name \*.xml -or -name \*.java`
  2. do mvn clean install to see if all is OK.
  3. if all is OK, commit the changes git commit -m "release version change: 2.1.0.Final"
  4. tag the release: git tag -a v2.1.0.Final -m 'version 2.1.0.Final'
  5. eventually merge commits left aside in pre-release steps to master
    1. push all changes in master upstream: git push --tags upstream master
  6. push all changes in master to rhgit (internal git repository): git push --tags rhgit master

 

Release: push artifacts to JBoss Nexus Repository

<Anil, can you please fill this part?>

 

 

Party time:

Spread the word about new release.

- user forum, blog, the core, twitter, G+, #whateveryouareusing

- in case of twitter consider: direct message @JBossNews to get a release pushed on all the social media streams