You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

After our first release, it is useful to document the steps that the release manager made in order that later releases are more easily performed.

Preparation

  • Create a release tag in in Apache Jira
  • Make sure all issues tagged with the release are finished
  • Is the correct version tag set in the pom.xml? - Should be "apache-esme-[VERSION-NO]-incubating"

  • Are the current developers in the pom-xml?
  • Are all the maven dependencies pointing to reproducible versions - not snapshots.
  • Are all the maven dependencies correctly licensed? Do a "mvn site" and check the licenses.
  • Are there any unused dependencies? Do a "mvn dependency:analyze" to check.
  • Update the CHANGES.TXT file based on the JIRA output for that release
  • Update the README.TXT if necessary
  • To upload the release on your private people.apache.org space, you must first create a directory "public_html" with a subdirectory "esme". The signed files go here.

Signing Preparation

In order to sign the release, you must first create a private PGP key.

Look here for details

Cutting a release

  1. do a svn update to an empty directory
  2. delete or rename your .m2/repository directory
  3. Is the release able to be compiled?: do a "mvn compile. There should be no errors.
  4. Are all tests successful? do a "mvn test". There should be no tests that fail
  5. Is the release runnable? Do a "mvn jetty:run". Can you start ESME and perform the basic tests (List missing)
  6. Tag the the release via SVN. The tag should be called "apache-esme-[VERSION-NO]-incubating"

  7. Use SVN export on the SVN tagged directory to create a directory of files that doesn't include any SVN-related files.
  8. Create a tar file based on that directory. Gzip that file. The file should be named apache-esme-[VERSION-NO]-incubating.src.tar.gz". Once other types of files (war, etc) are released, then other tar file names may be necessary

Testing the release

  1. Unpack the tar file in an empty directory
  2. Remove the maven .m2/repository
  3. Attempt to build ESME with a "mvn test jetty:run"

Signing the release

Perform the following steps (here using gpg on a Windows box)

  1. gpg --armor --output apache-esme-1-0-0-incubating.src.tar.gz.asc --detach-sig apache-esme-1-0-0-incubating.src.tar.gz
  2. gpg --print-md SHA512 apache-esme-1-0-0-incubating.src.tar.gz > apache-esme-1-0-0-incubating.src.tar.gz.sha
  3. gpg --print-md MD5 apache-esme-1-0-0-incubating.src.tar.gz > apache-esme-1-0-0-incubating.src.tar.gz.md5

Verify the release using this command

gpg --verify apache-esme-1-0-0-incubating.src.tar.gz.asc apache-esme-1-0-0-incubating.src.tar.gz

gpg: Unterschrift vom 02/17/10 15:48:32 mittels RSA-Schlüssel ID 6FACF917
gpg: Korrekte Unterschrift von "Richard Hirsch (CODE SIGNING KEY) <rhirsch@apache.org>"

The contents of the created files looks like this:

output apache-esme-1-0-0-incubating.src.tar.gz.asc:
----BEGIN PGP SIGNATURE----
Version: GnuPG v1.4.10 (MingW32)
iQIcBAABCgAGBQJLfAHAAAoJEItBUOZvrPkXfeQP/ie7n1axfF5xBb/HbtatCUzW
TbYIznhhLZ4xq1bitxA5clSveUnH7O8oRsEmCUBbzday90qHhZUzkVEspr30DB/5
j9Tx2+Ov09lShX+L24rKGeL9ReZ5YbiuSxh7WmaESlnSnP3J5NMsG7Um+v2ICyhb
NM1HUO7P1D5Xn9LZragOS0dt9VRAEb6h38rbBarRrFjKADf9gLqdkXmv7NgIWWwI
AFSJKzUATShT6u4sRJDlauSB0VS8NGfV4F+10OKsmIIHbMyDyTt01chr4KCXcjnf
siGHABBPBDUytjx648ohiXJPtmyovBTcqWtn3RF/dneSSCwibKgCGbJQgPCaWxvR
uh14gLTdSt2c4VMs0reychMh/fGfAumuPDL2voS+AHc1QCALRiePnqgfxVwW40nP
olQP5EPJpVr7vmOrOD29WgxEAlTqDsKLgTAkXAi1sPHpiHapDwu5PalaIMcmw8CS
ZBj39pdKFLUQkxgPU08nS/2n6BUcRkNpH6e4ngfQIltSaYN501CUrqi3nLMwx006
3zgTxm/ob6E6z13djolix2w0GQE6hkKDwesCj6K1h/sWp7y9rYiqIqS5A3WO+jAz
yij43gkNYzPnjr8Dz8mJM53FWWA+kQvF8E1iesIdTk1s5IaUno9ipqFSHv6wf1TQ
PfkCUjE05RyhSY3lDAmY
=Y4I/
----END PGP SIGNATURE----
apache-esme-1-0-0-incubating.src.tar.gz.sha
apache-esme-1-0-0-incubating.src.tar.gz:
771A97EB 34FD26C1 D431E4EA D7D4FC4C 3971DB42 F50B0B66 C32D601F 70D450FB 06F73667
 8E118141 5A83C40A 84C1ABDF 808551DC 10949049 1962C634 FFBFAE69
apache-esme-1-0-0-incubating.src.tar.gz.md5
apache-esme-1-0-0-incubating.src.tar.gz:
8E 43 0D DF F8 FE 15 9B  22 47 C2 C0 CC 30 21 2C

Uploading the release candidate to your private space

  1. Use a pstp to load the files to your private area in the directory "public_html/esme"
  2. The following files should be present:
    • KEYS
    • apache-esme-1-0-0-incubating.src.tar.gz
    • apache-esme-1-0-0-incubating.src.tar.gz.asc
    • apache-esme-1-0-0-incubating.src.tar.gz.md5
    • apache-esme-1-0-0-incubating.src.tar.gz.sha

Putting the Release Candidate to the first vote on

  1. create a vote post on the esme-dev mailing list. The post should have the following format:

    Subject: [VOTE] Approve the release of apache-esme-incubating-1.0Contents:Hi,
    I have posted our candidate for the first Apache release developed
    within the ESME podling.

    This is my second attempt at this release. I've now added the correct
    licensing for the files in the "esme-java-client" directory

    The candidate can be found at

    http://people.apache.org/~rhirsch/esme/

    See the CHANGES.txt file for details on release contents. The release
    candidate is a tar archive of the sources inhttps://svn.apache.org/repos/asf/incubator/esme/tags/esme-1.0-incubating/

    The MD5 checksum of the apache-esme-incubating-1.0-src.tar.gz release package is
    A4 9B 04 07 47 66 41 0C FE 01 2D 8B 5C 23 33 18

    Please vote on releasing this package as Apache ESME 1.0-incubating.
    The vote is open for the next 72 hours and passes if
    a majority of at least three +1 ESME PPMC votes is reached. Assuming
    the vote passes, I will ask the Incubator PMC to approve the release.

    [ ] +1 Release this package as Apache ESME 1.0-incubating
    [ ] -1 Do not release this package because...

    Here's my +1.

    Thanks in advance for your patience with me as manager of this release.

    Dick Hirsch

    2. After 72 hours after the vote, count the votes and create a post with the following contents:

Subject: [VOTE][RESULT] ESME 1.0

Contents:

Hello All,

Voting on the ESME 1.0 candidate release has concluded

Results:

6 binding +1 vote

Dick Hirsch +1
Mrinal Wadhwa +1
Vassil Dichev +1
Ethan Jewett +1
Anne Kathrine Petteroe +1
Darren Hague +1

1 non-binding +1 votes

Daniel Koller +1

  • No labels