Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Create a release branch
    1. Clone fresh repository copy

      Code Block
      git clone https://git-wip-us.apache.org/repos/asf/incubator-sentry.git 
      cd sentry
      
    2. Checkout master branch

      Code Block
      git checkout master
      
    3. Check that current HEAD points to commit on which you want to base new  release branch. Checkout particular commit if not.

      Code Block
      git log # Check current branch history. HEAD should point to commit that you want to be base for your release branch
      git checkout abcdef123 # Check out particular commit that should be base for release branch if -^
      
    4. Create new release branch with name "branch-$version"

      Code Block
      git checkout -b branch-1.2.0
      
    5. Update CHANGELOG in the trunk to indicate the changes going into the new version.

      The change list can be swiped from the JIRA release note tool (use the "text" format for the change log). See JIRA Cleanup above to ensure that the release notes generated by this tool are what you are expecting.

    6. Remove -SNAPSHOT from the release branch and commit

      Code Block
      find . -name pom.xml | xargs sed -i "" -e "s/X.Y.0-SNAPSHOT/X.Y.0/"
      git add .
      git commit -m "SENTRY-XXXX: Removing -SNAPSHOT from X.Y release branch"
    7. Check your changes and push new branch to Apache repository

      Code Block
      mvn package -Pdownload-hadoop
      git push origin branch-1.2.0
      
    8. Check that branch was correctly propagated to Apache repository.

  2. Prepare the trunk for next release (TODO: update change log?)

    Code Block
    git checkout master
    find . -name pom.xml | xargs sed -i "" -e "s/1.2.0-SNAPSHOT/1.3.0-SNAPSHOT/"
    git add .
    git commit -m "SENTRY-XXXX: Preparing for sentry 1.3.0 development"
    git push origin master:master
  3. Send an email announcing new branch

     

    No Format
    To: dev@sentry.incubator.apache.org
    Subject: New release branch 1.2.0
    
    
    I've just created new release branch for upcoming 1.2.0 incubating release.
    Please continue committing to master branch as usual.
    I'll cherry-pick commits to branch-1.2.0 on per needed basis.
    
    
    Thanks,
    $RM

Create release tar balls

...

  1. Check out release branch

    Code Block
    git checkout branch-1.2.0
    

...

  1. Create tag on this commit to identify precise point where the RC was generated and push this tag to main repository

    Code Block
    git tag -a release-1.2.0

...

  1.  -m "Sentry 1.2.0

...

  1.  incubating release"
    git push origin release-1.2.0

...

  1.  
    
  2. If an rc1, rc2, etc is needed, delete that tag before creating a new one:

    Code Block
    git tag -d release-1.2.0
    git push origin :refs/tags/release-1.2.0


     

  3. Create temporary directory where you'll be preparing all required artifacts

    Code Block
    mkdir -p /tmp/sentry-release-preparations
    

...

  1. Create source artifact and move it to your temporary directory (TODO: git archive?)

    Code Block
    mvn clean verify package
    mv sentry-dist/target/apache-sentry-1.2.0-incubating-src.tar.gz /tmp/sentry-release-preparations
    

Sanity Check

  1. Check out the candidate

    Code Block
    git checkout release-X.Y.Z
  2. Generate a tarballtarball 

    Code Block
    mvn clean install -DskipTests

     

  3. Unpack the source tarball

    Code Block
    cd sentry-dist/target
    rm -rf ./apache-sentry-1.2.0-incubating-src
    tar xzvf apache-sentry-1.2.0-incubating-src.tar.gz

     

  4.  Do another full build inside the source tarball. This time, allow all unit tests & integration tests to run and also include the docs

    Code Block
    mvn clean install -DskipTestscd apache-sentry-1.2.0-incubating-srcmvn test

...

  • Verify Signatures and hashes
  • DISCLAIMER correct
  • Filename contains "incubating"
  • Verify DISCLAIMER, NOTICE and LICENCE (year etc)
  • Should be in format apache-$project-$version-incubating.tar.gz 
  • All source file have correct headers (Rat check should be clean - mvn verify)
  • No jar files or the like in the release
  • Can compile successfully from source
  • git tag matches the released bits (diff -rf)

...

No Format
To: dev@sentry.incubator.apache.org
Subject: [VOTE] Release Sentry incubating version 1.2.0
This is the first incubator release of Apache Sentry, version 1.2.0-incubating. 
It fixes the following issues: http://s.apache.org/VlU

Source files : http://people.apache.org/~shreepadma/sentry-1.2.0/

Tag to be voted on (rc0): https://git-wip-us.apache.org/repos/asf/incubator-sentry/repo?p=incubator-sentry.git;a=logcommit;h=refs/tags/release-1.2.0-rc0<commit-hash-of-the-tag>

Sentry's KEYS containing the PGP key we used to sign the release:
https://people.apache.org/keys/group/sentry.asc

Note that this is a source only release and we are voting on the source (tag).


Vote will be open for 72 hours.

[ ] +1 approve
[ ] +0 no opinion
[ ] -1 disapprove (and reason why)


Thanks,
$RM
 

...