Versions Compared

Key

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

(The release process is still work in progress, please Please update this page as it gets refined)if anything is unclear or out of date.

Propose Release

  1. A committer proposes a release and a release manager is chosen by the committers (normally the committer proposing the release would be the release manager).
  2. Agree on the initial scope for the release and update JIRAs accordingly.

...

Tools required to crate a release artifact:

  • svn client
  • git client
  • mvn
  • md5sum (Linux) or md5 (OSX)
  • gpg (you need to have your GPG keys set up as per the following instructions).
    • Generating key pair using the following command. You can simply accept all default settings and give your name, email and Passphase., which will prompt you with a number of questions.  For the most part, you can accept the default answers but make sure to use your Apache email address and RSA 4096.  

      Code Block
      $ gpg --full-gengenerate-key
      
    • Export your fingerprint and public key.

      Code Block
      $ gpg --fingerprint "Your Name" ; gpg --armor --export 'Your Name'
      
    • Checkout from SVN https://dist.apache.org/repos/dist/release/oozie and append the output of the previous command to the KEYS file and commit the changes. If you are not a PMC member, ask a PMC member to do this.
    • Export your private key, and keep it in a safe place.

      Code Block
      $ gpg --export-secret-key -a "Your Name" > private.key
      
    • Refresh your keys from a public key server

      Code Block
      gpg --refresh-keys
    • Upload your public key to a public key server (How to find a Key ID?)

      Code Block
      gpg --send-key <key-id>
  1. Do a fresh checkout of branch to release. For example: 

    Code Block
    $ git checkout origin branch-4.0
    
  2. Do a build running all test cases as a verification.

    Code Block
    $ bin/mkdistro.sh
    
  3. Run the bin/create-release-artifact script to create the release artifact. For example:

    Code Block
    $ bin/create-release-artifact
    
    ...
    Release artifacts avail at /tmp/oozie.13501
    ----------------
    oozie-4.0.0.tar.gz
    oozie-4.0.0.tar.gz.asc
    oozie-4.0.0.tar.gz.md5sha512
    rat_report
    release-log.txt
    ----------------
  4. Copy release files to your Apache HTML directory. For example:

    Code Block
    $ sftp <YOUR APACHE ID>@people.apache.org 
    sftp> mkdir public_html/oozie-4.0.0-rc0
    sftp> cd public_html/oozie-4.0.0-rc0
    sftp> put -r /tmp/oozie.13501/* 
    
  5. Call a release vote for the Oozie PMC members. This vote must receive a minimum of 3 Oozie PMC members +1s, and more +1s than -1s. The email should be sent to dev@oozie.apache.org. The mail should:
    1. Have a subject line "[VOTE] Release Oozie X.Y.Z (candidate #)" where X.Y.Z is the version number and a is the candidate number for this release.
    2. State what are new in this release.
    3. Tell where the keys used to sign the release can be found.
    4. State where the release, md5 sha512 signature, gpg signature, and rat report can be found.
    5. Request that users and developers download it, test it, and vote.
    6. State when the vote closes. The vote must remain open for at least 72 hours. It can be longer at your discretion (e.g. around major holidays).
      Here is a sample email:

      No Format
      Subject: VOTE Release Oozie 4.0.0 (candidate 0)
      
      
      Hi,
      
      I have created a build for Oozie 4.0.0, candidate 0.
      
      Keys to verify the signature of the release artifact are available at
      
        http://www.apache.org/dist/oozie/KEYS
      
      Please download, test, and try it out:
      
        http://people.apache.org/~<YOUR APACHE ID>/oozie-4.0.0-rc0
      
      The release, md5sha512 signature, gpg signature, and rat report can all
      be found at the above address.
      
      Vote closes on <DATE>.
      
      <YOUR NAME>
      

...