Releasing Apache Sirona

  1. Post to the dev list a few days before you plan to do an Sirona release

  2. Your maven setting must contains the entry to be able to deploy.

    ~/.m2/settings.xml
    
       <server>
         <id>apache.releases.https</id>
         <username></username>
         <password></password>
       </server>
    
  3. Release Sirona

    You should have a GPG agent running in the session you will run the maven release commands(preferred), and confirm it works by running “gpg -ab” (type some text and press Ctrl-D). If you do not have a GPG agent running, make sure that you have the “apache-release” profile set in your settings.xml as shown below.

    GPG configuration in maven settings xml:

    <profile>
      <id>apache-release</id>
      <properties>
        <gpg.passphrase>[GPG_PASSWORD]</gpg.passphrase>
      </properties>
    </profile>
    

    Run the release

    mvn release:prepare release:perform
    
  4. go to https://repository.apache.org and close your staged repository. Log in, click on Staging Repositories, check your repository, and click Close. Note the repository url (format https://repository.apache.org/content/repositories/orgapachesirona-019/org/apache/sirona/sirona/0.1-incubating/)

  5. Stage the release (stagingRepoUrl format https://repository.apache.org/content/repositories/orgapachesirona-019/org/apache/sirona/sirona/0.6-incubating/)

    svn co https://dist.apache.org/repos/dist/dev/incubator/sirona sirona-dev-release
    cd sirona-dev-release
    sh ./release-script-svn.sh version stagingRepoUrl
    svn add <new directory created with new version as name>
    gpg -k email@domain.com >> KEYS
    gpg --armor --export email@domain.com >> KEYS
    svn ci
    
  6. Validating the release

  • Download sources, extract, build and run tests - mvn clean package
  • Verify license headers - mvn -Prat -DskipTests
  • Download binaries and .asc files
  • Download release manager’s public key - From the KEYS file, get the release manager’s public key finger print and run gpg –keyserver pgpkeys.mit.edu –recv-key <key>
  • Validate authenticity of key - run gpg –fingerprint <key>
  • Check signatures of all the binaries using gpg <binary>
  1. Call for a vote in the dev list and wait for 72 hrs. for the vote results. 3 binding votes are necessary for the release to be finalized. example After the vote has passed, move the files from dist dev to dist release: svn mv https://dist.apache.org/repos/dist/dev/incubator/sirona/version to https://dist.apache.org/repos/dist/release/incubator/sirona/

    Hi,
    
    I'd like to release Apache Sirona [VERSION]-incubating.
    
    Release notes: http://sirona.incubator.apache.org/releases/release-notes-[VERSION]-incubating.html
    
    Maven staged release repository: https://repository.apache.org/content/repositories/orgapachesirona-[NNN]/
    
    Distribution:
    * binaries: https://dist.apache.org/repos/dist/dev/incubator/sirona/[VERSION]-incubating/binaries/
    * sources: https://dist.apache.org/repos/dist/dev/incubator/sirona/[VERSION]-incubating/src/
    
    KEYS file available here: https://dist.apache.org/repos/dist/release/incubator/sirona/KEYS
    
    Vote open for 72H
    
    [+1]
    [0]
    [-1]
    
  2. Prepare release note. Add a page in src/site/apt/releasenotes/ and change value of <currentRelease> in parent pom.

  3. Send out an announcement of the release to:

  1. Celebrate!