[Puppet] Release process

AJ Johnson alexander.johnson at puppetlabs.com
Wed Nov 18 21:19:30 UTC 2015


Unsupported Release Checklist

   -
   - In your own fork, name your branch version_prep (<version>_prep)
   - Look at the pull requests, see if there are any easy merges.
   -
   - Update Metadata.json updated appropriately, ie bump the version number
   follow semver.
   - CHANGELOG updated  (A new section for this release, including a
   summary, bug fixes section and possibly a features section)
   - README - including all changes for that release.  (necessary if
   features are added didn’t document the changes)
   - Update the summary with something that describes what the module is
   capable of; something meaningful for the customer making a decision between
   our modules and other modules in search results.
   -
   - Check Acceptance tests pass
   -

   Symlinks - make sure we don't have any
   find . -type l


   -

   Build the module
   COPYFILE_DISABLE=1 puppet module build


   -

     Inspect the tarball (pkg/tar.tf)  ( looking for swap files, or any
   other strangeness)
   tar -tf puppetlabs-*.tar.gz


   -

   Compare the metadata.json to the one in pkg
   diff metadata.json pkg/<module>-<version>/metadata.json

   If there is a difference there will be issues with the checksums., copy
   the json file from pkg
   - Push your changes, once you are happy.

*Uploading to the Forge*

   -

   Notify QA & Release teams on Friday or Monday prior
   -

   In a fresh folder checkout the module master (git clone
   https://github.com/puppetlabs/module)
   - Puppet module build from release candidate that you want to tag
   (COPYFILE_DISABLE=1 puppet module build)
   -

   Inspect the tarball (pkg/tar.tf)
   tar -tf puppetlabs-*.tar.gz


   - Log into the Forge as puppetlabs. Upload the tar to the forge.

Tagging in Git

   -

   *only if uploading to the forge passes*
   git fetch upstream
   git rebase upstream/master
   git tag -a -m "<version>" <version> SHA
   git push upstream --tags

   (SHA, last entry from git lg --all )
   - Create respective fix version in JIRA, included release date
   - Release on Tuesday (unless it's an emergency, which releases would
   occur asap)

[Experimental] Unsupported Release Checklist

Please note this checklist is not currently in use anywhere. We have
proposed this workflow for unsupported releases and want to try it with a
small subset of the unsupported modules. The initial set of modules have
not yet been selected. (See documentation here
<https://docs.google.com/a/puppetlabs.com/document/d/1wXNZ11mwsLunbflRxqFcSbaMHNkRSP5y-tPgrPMJG4k/edit?usp=sharing>
.)

   - Community member requests release
      - MODULES ticket is submitted with request for release, including SHA
      - PR is submitted including CHANGELOG and metadata updates
   - Module Engineer Signoff
      - Check for Symlinks
      - Check for extra files
      - verify metadata matches PMT output
   - Release consensus
      - Go over requested releases in the weekly triage
      - Check with community for +1/-1
   - Merge release prep PR
   - Release on Tuesday (unless it's an emergency)


-- 
Thanks,

AJ Johnson | http://www.puppetlabs.com | +1.503.680.7293
Sr. Engineering Manager
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/puppet/attachments/20151118/fe7af6c8/attachment-0001.html>


More information about the Puppet mailing list