*We would like to make it easier for community members to submit pull
requests, even if it makes our jobs a little harder. Contributors should
target their changes at the master branch. This is already called out in
the CONTRIBUTING.md. It falls on the committers to port the change to the
correct branch to receive those changes.

We have an abundance of pages that try to describe how the development
process works. These mostly agree with each other, but often duplicate and
have slight variations of the information. Our goal is to consolidate this
information and make it very clear how contributions get into the codebase,
so that we can start removing the barriers to opening up the repo to more
community committers.

We are thinking that the following information might be best kept inside a
COMMITTERS.md document in the project:

   - Guidelines for what releases should get patched.
      - The latest minor release of a major release. Older minor releases
      in a major release do not get patched. Because of the change to semver,
      thinking about this has not been an issue before. This is a new
policy that
      is there to limit the number of active releases that need to be
dealt with.
      - Security patches are handled differently.
   - Guidelines for how to merge patches into different releases (e.g. 2.7
   is patched, how do we get the change into 3.0?).
      - merge up through all later branches by using “--no-ff --log”
      - When a new minor release branch is created (e.g. 3.1.x) then the
      previous one is deleted (e.g. 3.0.x). Any security or urgent fixes that
      might have to be applied to the older code line is done by creating an
      ad-hoc branch off of the tag of the last patch release of the old minor
      line.
   - The currently supported branches (this ties into the first point).
   - A checklist of items to look for during a code review.
      - All tests pass
      - Any platform gotchas? (Windows, Solaris, etc.)
      - Backwards compatible?
      - YARD docs for API?
      - Any need for documentation changes? If so how will they be handled?
      - Clean code
      - Changes conform to the contributing guide
   - Guidelines for being a good commit citizen by watching the automated
   build
      - Don’t push on a broken build
      - Watch the build until your changes have gone through green
      - Update the ticket status and target version
      - Ensure the pull request is closed


This would allow us to:

   1. have current guidelines about how far back to apply patches
   2. consolidate "current" information
   3. Kill
   
http://projects.puppetlabs.com/projects/puppet/wiki/Engineering_Process_Minimal_HOWTO.

   4. Kill
   http://projects.puppetlabs.com/projects/puppet/wiki/Puppet_Design_Guidelines
   5. Kill
   
http://projects.puppetlabs.com/projects/puppet/wiki/Internal_Development_Process

Kill
http://projects.puppetlabs.com/projects/puppet/wiki/Engineering_done_done*

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to