Versions Compared

Key

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

...

Release Prerequisites

  • Create a new release in JIRA. If you do not already have privileges enabling you to do so, ask the SENSSOFT FLAGON PMC.
  • Push off all open issues to the next release; any critical or blocker issues should be resolved on mailing list. Discuss any issues that you are unsure of on the mailing list.

...

Example:

Code Block
svn co https://dist.apache.org/repos/dist/release/incubator/senssoftflagon apache-dist-release-senssoftflagon
svn co https://dist.apache.org/repos/dist/dev/incubator/senssoftflagon apache-dist-dev-senssoftflagon


Warning

When working with these folders, make sure you are working with the correct one. Otherwise, you may be publishing pre-release software to the global release mirror network. 

 


Software packages

The following software packages are required during the build. Make sure you have them installed. 

  • npm
  • git
  • zip and unzip
  • sha1sum
  • gpg2

...

Now add your key to the apache-dist-release-senssoftflagon/KEYS file:

...


Code Block
$ cd apache-dist-release-senssoftflagon
$ (gpg2 --list-sigs $ASF_USERNAME@apache.org && gpg2 --armor --export $ASF_USERNAME@apache.org) >> KEYS
$ svn --username $SVN_USERNAME --no-auth-cache commit -m "Update senssoftflagon/KEYS for $GPG_KEY"

 


Release Branch and Set Version

...

  • Make a clean checkout of the UserALE.js repository (ensuring that there are no local modifications): 

    Code Block
    $ git clone https://git-wip-us.apache.org/repos/asf/incubator-senssoftflagon-useralejs.git 
    $ git pull --rebase # assumes that the Apache canonical repository is the default upstream for your master - amend if necessary
    $ git checkout -b $VERSION_NAME


  • Make sure all unit and integration tests are passing. 
    • All tests must pass... if they do not then they need to be fixed before further progress can be made. Each Senssoft flagon subproject you are attempting to release should contain a README with details on how to run the tests. If it does not, submit a pull request before progressing.
  • Update the CHANGELOG.md to reflect the current release, this may also be required for other essential files such as NOTICE, README etc. Ensure all of these files are accurate and up-to-date. It is also advised to include the JIRA release report in CHANGES.md. This makes it very easy for people to see the relevant changes for this release bundle.
  • Now change the version numbers in this branch in package.json.
  • If you have never made a SENSSOFT flagon UserALE.js release, you are required to append your gpg key to the SENSSOFT flagon KEYS file. This will then be used to sign all release artifacts. Much more about this can be found here http://apache.org/dev/release-signing.html

    Note

    This is an extremely important part of the release procedure. It is essential to get it right and that all subsequent release managers' KEYS are associated with this file.


  • If any changes based on the above have been made, then commit them to the VERSION branch.

...

Code Block
$ git clone https://github.com/apache/incubator-senssoftflagon

The release utility scripts reside within the release subdirectory.

...

  1. Prepare a staging directory for the source code release
  2. Create .tar.gz and .zip artifacts of the source code
  3. Invoke npm to build the source code (including running unit tests), and deploy artifacts to a NPM remote repository
  4. Save the .tar.gz and .zip artifacts produced by the build of incubator-senssoftflagon/release/make-release-artifacts.sh
  5. For each of the produced files, produce SHA512 and GnuPG signatures

...

Code Block
# A dry run to test everything is OK
$ ./incubator-senssoftflagon/release/make-release-artifacts.sh -r $RC_NUMBER -n

# The real build, which will publish artifacts
$ ./incubator-senssoftflagon/release/make-release-artifacts.sh -r $RC_NUMBER

...

  • navigate to http://repository.apache.org and log in.
  • click on Staging Repositories on the left hand side, you should see the SENSSOFT flagon RC staging profile.
  • Select the profile and close the staging profile. This makes the artifacts available for people to tests and VOTE upon.

Push the source release artifacts and signatures to dist.apache.org as described below.

Check out SENSSOFT flagon release staging area. The artifacts we push to this area are the ones we make available on official

Apache mirrors. These are therefore the sources artifacts we link to from the SENSSOFT flagon site. e.g.

  • In your local copy of SENSSOFT flagon (master), navigate to $SENSSOFT$flagon/target directory and copy the src.zip and src-tar.gz artifacts along with relevant signatures to the above release staging directory.
  • You should aim to include all relevant signatures along with these src artifacts. This would entail
    SHA and ASC signatures for each artifact. More information on this can be found here - http://apache.org/dev/release-signing.html
  • copy the CHANGES.md to this directory as well
  • finally, svn add all of the above artifacts and commit them to the SENSSOFT flagon dev release staging area

Next, progress to the creation of the VOTE thread as below...

...

Make a signed tag for this release candidate:


 

Code Blockcode
$ git tag -s -m "Tag release ${VERSION_NAME} release candidate ${RC_NUMBER}" rel/apache-senssoftflagon-useralejs-${VERSION_NAME}-rc${RC_NUMBER}

Now push the release branch and release candidate tag:


 

Code Block
$ git push userale-js $VERSION_NAME && git push apache-git rel/apache-senssoftflagon-userale-js-${VERSION_NAME}-rc${RC_NUMBER}

Publish the source and binary distributions to the pre-release area

You will need to have checked out the Apache distribution Subversion repository located at https://dist.apache.org/repos/dist/dev/incubator/senssoftflagon/. Please refer to Prerequisites for information.

In your workspace for the dist.apache.org repo, create a directory with the artifact name and version:

Code Block
$ mkdir apache-senssoftflagon-useralejs-${VERSION_NAME}-rc${RC_NUMBER}

Copy into this directory all of the artifacts from the previous step - -src and -bin.tar.gz.zip and .rpm, and all associated .sha512 and .asc signatures. Then commit:


 

Code Block
$ svn add apache-senssoftflagon-useralejs-${VERSION_NAME}-rc${RC_NUMBER}
$ svn commit --username $SVN_USERNAME --no-auth-cache --message "Add apache-senssoftflagon-useralejs-${VERSION_NAME}-rc${RC_NUMBER} to dist/dev/senssoftflagon"

These steps can be performed as part of the make-release-artifacts.sh script used earlier if ${APACHE_DIST_SVN_DIR} points to the appropriate subversion directory.

...

Send something like the following to the user@ and dev@SENSSOFT dev@flagon lists

Code Block
titleVOTE email
To: "Apache SENSSOFTflagon Developers List" <dev@SENSSOFT<dev@flagon.incubator.apache.org>, "Apache SENSSOFTflagon User List" <user@SENSSOFT<user@flagon.incubator.apache.org>
 Subject: VOTE Release Apache SENSSOFTflagon (Incubating) X.Y

Hi Folks,
Please VOTE on the Apache SENSSOFTflagon X.Y Release Candidate #Z.

We solved 44 issues: http://url/of/jira/release/report

Git source tag (c2d58dd1440b4e2c66c1f40a4b6d4169d79bb6d3): http://s.apache.org/Eyv

Staging repo: https://repository.apache.org/content/repositories/orgapacheSENSSOFTorgapacheflagon-1001

Source Release Artifacts: https://dist.apache.org/repos/dist/dev/SENSSOFTflagon/X.Y/

PGP release keys (signed using 48BAEBF6): http://SENSSOFTflagon.incubator.apache.org/dist/KEYS

Vote will be open for 72 hours.
Thank you to everyone that is able to VOTE as well as everyone that contributed to Apache SENSSOFTflagon X.Y.

[ ] +1, let's get it released!!!
[ ] +/-0, fine, but consider to fix few issues before...
[ ] -1, nope, because... (and please explain why)

 


The above email includes the following

...

N.B. DO NOT DELETE YOUR LOCAL COPY OF THE SENSSOFT flagon RELEASE YOU"VE JUST PUSHED

...

Code Block
titleRESULT thread
Subject: [RELEASE] WAS:VOTE Release Apache SENSSOFTflagon X.Y
The RESULT thread should basically tally up the VOTE's something like the following would do nicely
Hi Everyone, 
 As the 72 hours period has come and gone I would like to bring this thread to a close. 
The VOTE's have been counted and RESULT's are as follows 
 [7] +1, let's get it released!!! 
Tom
Dick
Harry 
Lewis John McGibbney * 
[0] +/-0, fine, but consider to fix few issues before... 
[0] -1, nope, because... (and please explain why) 
 *SENSSOFTflagon PMC Binding VOTE 
 I'll progress with the remainder of the release procedure. 

If the release passes, progress to the next step, if not then head over to dev@SENSSOFT dev@flagon and discuss

how to revert the release. Assuming it passes however, progress to the next section.

...

Make sure that the up-to-date KEYS file exists in https://dist.apache.org/repos/dist/release/incubator/senssoftflagon/

Once all artifacts and signatures have been copied over, delete the dev area

...

This can be done easily by editing the apache-senssoft flagon page in the ASF project website. Details are provided in the README. Then commit the changes to the master branch.  Jenkins will rebuild the site within about half an hour, and you can observe your changes here: http://senssoftflagon.incubator.apache.org/releases/.

...

Code Block
titleWEBSITE Release Update Draft
Apache UserALE.js 0.1.0 is now available:
- Source Code: [0]
- Downloads:  [1]
- NPM package: [2]
 
******* PGP key reference to signed artifacts needed ?? *******

UserALE.js uses the Apache Software License v2.0.  
 
----
For future releases, stay tuned and sign up for our mailing lists to keep up to date!
You can always find current SensSoftflagon code in our git repositories [3], or on github [4].

 
[0] http://git-wip-us.apache.org/repos/asf/incubator-senssoftflagon-user-ale [1] http://apache.org/dist/ [2] https://www.npmjs.com/package/useralejs
[3] http://incubator.apache.org/projects/senssoftflagon.html [4] https://github.com/apache?q=senssoftflagon

Announce the Release

...


Code Block
titleANNOUNCEMENT Email
Hi, The Apache SensSoftflagon team are pleased to announce the immediate availability of Apache UserAle.js 0.1. 
The Apache UserALE.js is an open source tool to quickly and efficiently instrument a javascript frontend application. UserALE.js uses the Apache Software License v2.0. 
UserALE.js is released as both source code, downloads for which can be found at our releases page [0] as well as npm package which can be found on NPM [1]. 
This release addresses a modest XXXXX issues with ... blah blah blah. 
The full Jira release report can be found here [2]. 
Thank you Lewis (on behalf of SensSoftflagon PMC) 
 
[0] http://senssoftflagon.incubator.apache.org/releases/ [1] https://www.npmjs.com/package/useralejs [2] URL for Release Report in Jira

...


  • Send an ANNOUNCEMENT to the following lists

...