Skip to content

Instantly share code, notes, and snippets.

@matzew
Last active August 29, 2015 14:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save matzew/14f93693c8362b753782 to your computer and use it in GitHub Desktop.
Save matzew/14f93693c8362b753782 to your computer and use it in GitHub Desktop.
Cordova/JS Release Process

Requirements

  • Have gpg-agent installed, configured and running. One way to be sure to check if your gpg agent is running correctly is to encrypt and decrypt a file, using the gpg tool, don't forget to pass the --use-agent option, you should be prompted with a dialog (depending on your OS asking for your pass phrase). Now try to decrypt again, you hsould not be asked again for your pass phrase : your agent is working.

Release process

Preparation

Once the code is ready to be released, create a branch that indicates the version, e.g. 0.5.0-release and send a heads-up (or vote) email to the mailing list asking to test the bits before we do release.

The email should contain a list of the fixes that went in (e.g. git changelog or JIRAs solved in the release)

After 72 hours, if no feedback is provided (lazy consensus), we can perform the actual release

Perform

After a successful vote, it's time to get the bits out

  1. git tag -s x.y.z <commit_SHA_of_the_last_relevant_commit_to_be_in_the_release> -m "signed MY ARTIFACT x.y.z tag"
  • Verify that you really singed the tag, by executing git tag -v x.y.z. The output should be similar to:

      object ac05cd2a4ed8b6ef354acdf17fff321f33548997
      type commit
      tag 0.2.1
      tagger Matthias Wessendorf <matzew@apache.org> 1375864277 +0200
    
      signed unified push java client 0.2.1 tag
      gpg: Signature made Wed Aug  7 10:31:17 2013 CEST using DSA key ID 1CE17EDC
      gpg: Good signature from "Matthias Wessendorf <matzew@apache.org>"
    
  1. git push origin x.y.z
  • If all went OK, push the tag and delete the "release branch" that was used for testing
  1. Do the announcement email that there is a new release available
@sebastienblanc
Copy link

[ignore]IMHO, the branch in the preparation phase should already be signed (instead of doing that in the "Perform")[/ignore]

@edewit
Copy link

edewit commented Jul 8, 2014

I don't see value in creating a release branch as bug fixes are already merged on master and active development is in a branch. Why create a branch that is only different in name. For Cordova people already use master to install the plugins.

@edewit
Copy link

edewit commented Jul 8, 2014

So for Cordova there are 2 extra steps needed, change the version number in the plugin.xml file and push the plugin to plugins.cordova.io with plugman.

And one more thing is update the site (aerogear.org) to change the download link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment