Chef GitHub Issues Workflow

This RFC codifies the workflow Chef uses to track bug reports and contributions using GitHub Issues. The terms and policies used in this workflow are defined by RFC 30.


In the context of this document below terms are used:


Everyone can:

Chef Users can:

Contributors can:

Chef Maintainers can:


Chef GitHub Issues Workflow


Common Steps for Issues & PRs

The first step of Chef GitHub Issues Workflow is to identify the subcomponent for which the issue or PR belongs to. Once the subcomponent is identified, the rest of the workflow is the responsibility of the maintainers of the identified subcomponent.

Issues Workflow

The issues workflow can be broken down into these high level steps:

  1. Understand the issue and determine the resolution.
  2. Identify the major version the issue should be fixed in.
  3. Label the issue to indicate completeness of Triage process.

Any code or contributions associated with the issue will follow the contribution workflow documented below.


Contribution Workflow

The contribution workflow can be broken down into these high level steps:

  1. Maintainers check the contribution and give :+1: if the code is looking good, or leave a comment that clearly identifies what is needed for the contribution to move forward.
  2. At their discretion, the reviewer may choose to complete a contribution by writing tests. This can be a fantastic mentoring opportunity for our community.
  3. Once at least two maintainers :+1: a PR, the last reviewer should:
    • If clean up, such as a Changelog entry or a rebase, is required, mark the PR with the Ready to Merge label.
    • If no further work is required, merge the PR.
  4. PRs marked with Ready to Merge will be merged by maintainers of the subcomponent after including the required documentation updates.
  5. Waiting for Contributor Response label indicates that an action is needed from the contributor.
  6. Needs Maintainer Review label indicates that an action is needed from Chef maintainers.




This work is in the public domain. In jurisdictions that do not allow for this, this work is available under CC0. To the extent possible under law, the person who associated CC0 with this work has waived all copyright and related or neighboring rights to this work.