summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2018-10-29 09:02:45 -0700
committerTim Smith <tsmith@chef.io>2018-10-29 09:02:45 -0700
commitfab34e2eb4a666985144cfde7394f35654430067 (patch)
tree673fce82adf0bce1e2ab9fb68b30219b20e9e6b4
parent004176acf0139227536741cf3516aa97b056526f (diff)
downloadchef-fab34e2eb4a666985144cfde7394f35654430067.tar.gz
Misc documentation syncs from Chef 14
Signed-off-by: Tim Smith <tsmith@chef.io>
-rw-r--r--CHEF_MVPS.md23
-rw-r--r--CONTRIBUTING.md25
-rw-r--r--MAINTAINERS.md14
-rw-r--r--MAINTAINERS.toml34
-rw-r--r--README.md75
5 files changed, 94 insertions, 77 deletions
diff --git a/CHEF_MVPS.md b/CHEF_MVPS.md
index dd46ea9174..cc0fcb710a 100644
--- a/CHEF_MVPS.md
+++ b/CHEF_MVPS.md
@@ -2,7 +2,8 @@
Every release of Chef we pick someone from the community to name as the Most Valuable Player for that release. It could be someone who provided a big feature, reported a security vulnerability, or someone doing great things in the community that we want to highlight.
-In addition to the Hall of Fame and MVP recipients, three individuals are awarded the distinction of "Awesome Community Chef" each year at ChefConf.
+In addition to the Hall of Fame and MVP recipients, a number of individuals are awarded the distinction
+of "Awesome Community Chef" each year at ChefConf.
#### Hall of Fame
@@ -91,7 +92,7 @@ After receiving three MVP awards, we add someone to the hall of fame. We want to
#### Awesome Community Chefs
-Each year at ChefConf, three individuals are awarded the Awesome Community Chef award. The Awesome Community Chef awards are a way for the community to recognize a few of the individuals who have made a dramatic impact and have helped further the cause.
+Each year at ChefConf, a number of individuals are awarded the Awesome Community Chef award. The Awesome Community Chef awards are a way for the community to recognize a few of the individuals who have made a dramatic impact and have helped further the cause.
* 2013
* [Bryan Berry](https://github.com/bryanwb)
@@ -105,4 +106,20 @@ Each year at ChefConf, three individuals are awarded the Awesome Community Chef
* 2015
* [Jon Cowie](https://github.com/jonlives)
* [Noah Kantrowitz](https://github.com/coderanger)
- * [Matt Wrock](https://github.com/mwrock) \ No newline at end of file
+ * [Matt Wrock](https://github.com/mwrock)
+* [2016](https://blog.chef.io/2016/08/31/awesome-community-chefs-2016/)
+ * [Mike Fiedler](https://github.com/miketheman)
+ * [Doug Ireton](https://github.com/dougireton)
+ * [Stuart Preston](https://github.com/stuartpreston)
+ * [Seth Thomas](https://github.com/cheeseplus)
+* [2017](https://blog.chef.io/2017/06/08/awesome-community-chefs-2017-award-winners/)
+ * [Ben Dang](https://github.com/bdangit)
+ * [Annie Hedgpeth](https://github.com/anniehedgpeth)
+ * [Sean O'Meara](https://github.com/someara)
+ * [Nell Shamrell-Harrington](https://github.com/nellshamrell)
+* [2018](https://blog.chef.io/2018/05/24/2018-awesome-community-chefs/)
+ * [Dan Webb](https://github.com/damacus)
+ * [Romain Sertelon](https://github.com/rsertelon)
+ * [Edmund Haselwanter](https://github.com/ehaselwanter)
+ * [Tim Smith](https://github.com/tas50)
+ * [Joshua Timberman](https://github.com/jtimberman) \ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 723c7e0ec8..aa154feb11 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -4,20 +4,20 @@ We're glad you want to contribute to a Chef project! This document will help ans
## Submitting Issues
-Not every contribution comes in the form of code. Submitting, confirming, and triaging issues is an important task for any project. At Chef we use Github to track all project issues.
+Not every contribution comes in the form of code. Submitting, confirming, and triaging issues is an important task for any project. At Chef we use GitHub to track all project issues.
-If you are familiar with Chef and know the component, that is causing you a problem, you can file an issue in the corresponding Github project. All of our Open Source Software can be found in our [Github organization](https://github.com/chef/). All projects include Github issue templates to help gather information needed for a thorough review.
+If you are familiar with Chef and know the component that is causing you a problem, you can file an issue in the corresponding GitHub project. All of our Open Source Software can be found in our [Chef GitHub organization](https://github.com/chef/). All projects include GitHub issue templates to help gather information needed for a thorough review.
-We ask you not to submit security concerns via Github. For details on submitting potential security issues please see <https://www.chef.io/security/>
+We ask you not to submit security concerns via GitHub. For details on submitting potential security issues please see <https://www.chef.io/security/>
-In addition to Github issues, we also utilize a feedback site that helps our product team track and rank feature requests. If you have a feature request, this is an excellent place to start <https://feedback.chef.io>
+In addition to GitHub issues, we also utilize a feedback site that helps our product team track and rank feature requests. If you have a feature request, this is an excellent place to start <https://www.chef.io/feedback/>
## Contribution Process
We have a 3 step process for contributions:
1. Commit changes to a git branch, making sure to sign-off those changes for the [Developer Certificate of Origin](#developer-certification-of-origin-dco).
-2. Create a Github Pull Request for your change, following the instructions in the pull request template.
+2. Create a GitHub Pull Request for your change, following the instructions in the pull request template.
3. Perform a [Code Review](#code-review-process) with the project maintainers on the pull request.
### Pull Request Requirements
@@ -29,13 +29,13 @@ Chef Projects are built to last. We strive to ensure high quality throughout the
### Code Review Process
-Code review takes place in Github pull requests. See [this article](https://help.github.com/articles/about-pull-requests/) if you're not familiar with Github Pull Requests.
+Code review takes place in GitHub pull requests. See [this article](https://help.github.com/articles/about-pull-requests/) if you're not familiar with GitHub Pull Requests.
Once you open a pull request, project maintainers will review your code and respond to your pull request with any feedback they might have. The process at this point is as follows:
1. Two thumbs-up (:+1:) are required from project maintainers. See the master maintainers document for Chef projects at <https://github.com/chef/chef/blob/master/MAINTAINERS.md>.
-2. When ready, your pull request will be tagged with label `Ready For Merge`.
-3. Your change will be merged into the project's `master` branch and will be noted in the project's `CHANGELOG.md` at the time of release.
+2. Your change will be merged into the project's `master` branch
+3. Our Expeditor bot will automatically update the project's changelog with your contribution. For projects such as Chef and Chef-DK the version will be automatically incremented and a build kicked off to the project's `current` channel.
If you would like to learn about when your code will be available in a release of Chef, read more about [Chef Release Cycles](#release-cycles).
@@ -90,7 +90,7 @@ The DCO requires a sign-off message in the following format appear on each commi
Signed-off-by: Julia Child <juliachild@chef.io>
```
-The DCO text can either be manually added to your commit body, or you can add either **-s** or **--signoff** to your usual git commit commands. If you forget to add the sign-off you can also amend a previous commit with the sign-off by running **git commit --amend -s**. If you've pushed your changes to Github already you'll need to force push your branch after this with **git push -f**.
+The DCO text can either be manually added to your commit body, or you can add either **-s** or **--signoff** to your usual git commit commands. If you forget to add the sign-off you can also amend a previous commit with the sign-off by running **git commit --amend -s**. If you've pushed your changes to GitHub already you'll need to force push your branch after this with **git push -f**.
### Chef Obvious Fix Policy
@@ -123,7 +123,7 @@ Date: Wed Sep 18 11:44:40 2015 -0700
## Release Cycles
-Our primary shipping vehicle is operating system specific packages that includes all the requirements of Chef. We call these [Omnibus packages](https://github.com/chef/omnibus)
+Our primary shipping vehicle is operating system specific packages that includes all the requirements of Chef. The packages are built with our [Omnibus](https://github.com/chef/omnibus) packing project.
We also release our software as gems to [Rubygems](https://rubygems.org/) but we strongly recommend using Chef packages since they are the only combination of native libraries & gems required by Chef that we test throughly.
@@ -135,7 +135,7 @@ Our version numbering roughly follows [Semantic Versioning](http://semver.org/)
After shipping a release of Chef we bump the `Minor` version by one to start development of the next minor release. All merges to master trigger an increment of the `Patch` version, and a build through our internal testing pipeline. We do a `Minor` release approximately every month, which consist of shipping one of the already auto-incremented and tested `Patch` versions. For example after shiping 12.10.24, we incremented Chef to 12.11.0\. From there 18 commits where merged bringing the version to 12.11.18, which we shipped as an omnibus package.
-Announcements of releases are made to the [chef mailing list](https://discourse.chef.io/c/chef-release) when they are available.
+Announcements of releases are made to the [chef mailing list](https://discourse.chef.io/c/chef-release) when they are available and are mirrored to the #announcements channel on the [Chef Community Slack](https://community-slack.chef.io/).
## Chef Community
@@ -148,4 +148,5 @@ Also here are some additional pointers to some awesome Chef content:
- [Chef Docs](https://docs.chef.io/)
- [Learn Chef](https://learn.chef.io/)
-- [Chef Website](https://www.chef.io/)
+- [Chef Software Inc. Website](https://www.chef.io/)
+- [Chef Project Website](https://www.chef.sh/)
diff --git a/MAINTAINERS.md b/MAINTAINERS.md
index 536d9b6629..974ca27bad 100644
--- a/MAINTAINERS.md
+++ b/MAINTAINERS.md
@@ -31,6 +31,7 @@ To mention the team, use @chef/client-core
* [Adam Leff](https://github.com/adamleff)
* [Bryan McLellan](https://github.com/btm)
* [Noah Kantrowitz](https://github.com/coderanger)
+* [Seth Thomas](https://github.com/cheeseplus)
* [Daniel DeLeo](https://github.com/danielsdeleo)
* [AJ Christensen](https://github.com/fujin)
* [Phil Dibowitz](https://github.com/jaymzh)
@@ -39,11 +40,10 @@ To mention the team, use @chef/client-core
* [Jon Cowie](https://github.com/jonlives)
* [Joshua Timberman](https://github.com/jtimberman)
* [Lamont Granquist](https://github.com/lamont-granquist)
-* [Claire McQuin](https://github.com/mcquin)
-* [Matt Wrock](https://github.com/mwrock)
* [Ranjib Dey](https://github.com/ranjib)
* [Steven Murawski](https://github.com/smurawski)
* [Steven Danna](https://github.com/stevendanna)
+* [Stuart Preston](https://github.com/stuartpreston)
* [Tim Smith](https://github.com/tas50)
* [Tom Duffield](https://github.com/tduffield)
* [Tyler Ball](https://github.com/tyler-ball)
@@ -110,8 +110,10 @@ To mention the team, use @chef/client-windows
* [Jay Mundrawala](https://github.com/jaym)
* [Kartik Cating-Subramanian](https://github.com/ksubrama)
* [Steven Murawski](https://github.com/smurawski)
+* [Stuart Preston](https://github.com/stuartpreston)
* [Salim Alam](https://github.com/chefsalim)
* [Matt Wrock](https://github.com/mwrock)
+* [Tim Smith](https://github.com/tas50)
## Solaris
@@ -145,6 +147,7 @@ To mention the team, use @chef/client-os-x
* [Tyler Ball](https://github.com/tyler-ball)
* [mikedodge04](https://github.com/mikedodge04)
+* [Tim Smith](https://github.com/tas50)
## Debian
@@ -171,10 +174,13 @@ To mention the team, use @chef/client-fedora
To mention the team, use @chef/client-opensuse
+### Lieutenant
+
+* [Tim Smith](https://github.com/tas50)
+
### Maintainers
* [Lamont Granquist](https://github.com/lamont-granquist)
-* [Tim Smith](https://github.com/tas50)
## SUSE Enterprise Linux Server
@@ -196,7 +202,6 @@ To mention the team, use @chef/client-freebsd
* [Cory Stephenson](https://github.com/Aevin1387)
* [David Aronsohn](https://github.com/OnlyHaveCans)
-* [Bryant Lippert](https://github.com/AgentMeerkat)
## OpenBSD
@@ -230,4 +235,3 @@ To mention the team, use @chef/client-archlinux
* [Lamont Granquist](https://github.com/lamont-granquist)
* [Ryan Cragun](https://github.com/ryancragun)
-
diff --git a/MAINTAINERS.toml b/MAINTAINERS.toml
index ce4f514d89..407471e164 100644
--- a/MAINTAINERS.toml
+++ b/MAINTAINERS.toml
@@ -37,6 +37,7 @@ Maintainers for the Chef client, Ohai, mixlibs, ChefDK, ChefSpec, Foodcritic, ch
"adamleff",
"btm",
"coderanger",
+ "cheeseplus",
"danielsdeleo",
"fujin",
"jaymzh",
@@ -45,11 +46,10 @@ Maintainers for the Chef client, Ohai, mixlibs, ChefDK, ChefSpec, Foodcritic, ch
"jonlives",
"jtimberman",
"lamont-granquist",
- "mcquin",
- "mwrock",
"ranjib",
"smurawski",
"stevendanna",
+ "stuartpreston",
"tas50",
"tduffield",
"tyler-ball",
@@ -69,7 +69,8 @@ Chef Provisioning and Drivers. Supported Drivers are listed in the [README](htt
"jkeiser",
"jjasghar",
"stuartpreston",
- "thehar"
+ "thehar",
+ "jjlimepoint"
]
[Org.Components.Subsystems]
@@ -110,8 +111,10 @@ The specific components of Chef related to a given platform - including (but not
"jaym",
"ksubrama",
"smurawski",
+ "stuartpreston",
"chefsalim",
- "mwrock"
+ "mwrock",
+ "tas50"
]
[Org.Components.Subsystems.Solaris]
@@ -138,7 +141,8 @@ The specific components of Chef related to a given platform - including (but not
maintainers = [
"tyler-ball",
- "mikedodge04"
+ "mikedodge04",
+ "tas50"
]
[Org.Components.Subsystems.Debian]
@@ -164,9 +168,10 @@ The specific components of Chef related to a given platform - including (but not
title = "openSUSE"
team = "client-opensuse"
+ lieutenant = "tas50"
+
maintainers = [
- "lamont-granquist",
- "tas50"
+ "lamont-granquist"
]
[Org.Components.Subsystems."SUSE Enterprise Linux"]
@@ -185,8 +190,7 @@ The specific components of Chef related to a given platform - including (but not
maintainers = [
"Aevin1387",
- "OnlyHaveCans",
- "AgentMeerkat"
+ "OnlyHaveCans"
]
[Org.Components.Subsystems.OpenBSD]
@@ -273,18 +277,10 @@ The specific components of Chef related to a given platform - including (but not
Name = "Aaron Kalin"
GitHub = "martinisoft"
- [people.mcquin]
- Name = "Claire McQuin"
- GitHub = "mcquin"
-
[people.ranjib]
Name = "Ranjib Dey"
GitHub = "ranjib"
- [people.sethvargo]
- Name = "Seth Vargo"
- GitHub = "sethvargo"
-
[people.smurawski]
Name = "Steven Murawski"
GitHub = "smurawski"
@@ -372,3 +368,7 @@ The specific components of Chef related to a given platform - including (but not
GitHub = "itmustbejj"
Twitter = "itmustbejj"
IRC = "itmustbejj"
+
+ [people.cheeseplus]
+ Name = "Seth Thomas"
+ GitHub = "cheeseplus"
diff --git a/README.md b/README.md
index 74824623fc..1f7c2cb54a 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ If you just want to use Chef, check out these resources:
- [learnchef](https://learn.chef.io): Getting started guide
- [docs.chef.io](https://docs.chef.io): Comprehensive User Docs
- [Installer Downloads](https://downloads.chef.io/chef/): Install Chef as a complete package
-- [chef/chef](https://hub.docker.com/r/chef/chef): Docker image for use with [kitchen-dokken](https://github.com/someara/kitchen-dokken)
+- [chef/chef](https://hub.docker.com/r/chef/chef/): Docker image for use with [kitchen-dokken](https://github.com/someara/kitchen-dokken/)
## Reporting Issues
@@ -43,9 +43,9 @@ against the repository you think best fits and it will be directed to the approp
## Installing From Git for Developers
-**NOTE:** As a Chef user, please download the omnibus package of [Chef](https://downloads.chef.io/chef) or [Chef-DK](https://downloads.chef.io/chef)
+**NOTE:** As a Chef user, please download the [Chef](https://downloads.chef.io/chef) or [Chef-DK](https://downloads.chef.io/chef) packages, which provide Ruby and other necessary libraries for running Chef.
-We do not recommend installing from gems, or building from source. The following instructions apply only to those doing software development on Chef.
+We do not recommend end users install Chef from gems or build from source. The following instructions apply only to those doing software development on Chef.
### Prerequisites
@@ -63,36 +63,31 @@ note about downloading the pre-built omnibus install if you do not understand ho
### Chef Installation
-Then get the source and install it:
+Once you have your development environment configured you can clone the Chef repository and install Chef:
```bash
git clone https://github.com/chef/chef.git
cd chef
bundle install
-bundle exec rake gem
bundle exec rake install
```
## Contributing/Development
-Please read our [Community Contributions Guidelines](https://docs.chef.io/community_contributions.html), and
-ensure you are signing all your commits with DCO sign-off.
+Please read our [Community Contributions Guidelines](https://docs.chef.io/community_contributions.html), and ensure you are signing all your commits with DCO sign-off.
The general development process is:
1. Fork this repo and clone it to your workstation.
2. Create a feature branch for your change.
3. Write code and tests.
-4. Push your feature branch to github and open a pull request against master.
+4. Push your feature branch to GitHub and open a pull request against master.
-Once your repository is set up, you can start working on the code. We do utilize
-RSpec for test driven development, so you'll need to get a development
-environment running. Follow the above procedure ("Installing from Git") to get
-your local copy of the source running.
+Once your repository is set up, you can start working on the code. We do utilize RSpec for test driven development, so you'll need to get a development environment running. Follow the above procedure ("Installing from Git") to get your local copy of the source running.
## Testing
-This repository only uses rspec for testing.
+This repository uses rspec for testing.
```bash
# all tests
@@ -105,11 +100,11 @@ bundle exec rspec spec/PATH/TO/FILE_spec.rb
bundle exec rspec spec/PATH/TO/DIR
```
-When you submit a PR rspec tests will run automatically on travis and appveyor.
+When you submit a PR rspec tests will run automatically on [Travis-CI](https://travis-ci.org/) and [AppVeyor](https://www.appveyor.com/).
## Building the Full Package
-To build chef as a standalone package, we use the [omnibus](omnibus/README.md) system.
+To build Chef as a standalone package, we use the [omnibus](omnibus/README.md) packaging system.
To build:
@@ -120,9 +115,7 @@ bundle install
bundle exec omnibus build chef
```
-The prerequisites necessary to run omnibus itself are not documented here. The automation we use is
-the [opscode-ci cookbook](https://github.com/chef-cookbooks/opscode-ci) cookbook, which serves as the most
-current documentation.
+The prerequisites necessary to run omnibus itself are not documented in this repository. See the [Omnibus repository](https://github.com/chef/omnibus) for additional details.
## Updating Dependencies
@@ -134,9 +127,7 @@ If you want to change our constraints (change which packages and versions we acc
In addition there are several places versions are pinned for CI tasks:
-* [acceptance/Gemfile](acceptance/Gemfile) and [acceptance/Gemfile.lock](acceptance/Gemfile.lock): Acceptance tests (internal jenkins)
* [kitchen-tests/Gemfile](kitchen-tests/Gemfile) and [kitchen-tests/Gemfile.lock](kitchen-tests/Gemfile.lock): Gems for test-kitchen tests (travis)
-* [kitchen-tests/Berksfile](kitchen-tests/Berksfile) and [kitchen-tests/Berksfile.lock](kitchen-tests/Berksfile.lock): Cookbooks for test-kitchen tests (travis)
In order to update everything run `rake dependencies`. Note that the [Gemfile.lock](Gemfile.lock) pins windows platforms and to fully regenerate the lockfile
you must use the following commands or run `rake dependencies:update_gemfile_lock`:
@@ -153,24 +144,23 @@ Chef is an amalgam of many components. These components update all the time, nec
## Chef Packages
-Chef is distributed as packages for debian, rhel, ubuntu, windows, solaris, aix, and os x. It includes a large number of components from various sources, and these are versioned and maintained separately from chef project, which bundles them all together conveniently for the user.
+Chef is distributed as packages for debian, rhel, ubuntu, windows, solaris, aix, and macos. It includes a large number of components from various sources, and these are versioned and maintained separately from the chef project, which bundles them all together conveniently for the user.
These packages go through several milestones:
-- `master`: When code is checked in to master, the patch version of chef is bumped (e.g. 0.9.10 -> 0.9.11) and a build is kicked off automatically to create and test the packages in Chef's Jenkins cluster.
+- `master`: When code is checked in to master, the patch version of chef is bumped (e.g. 14.5.1 -> 14.5.2) and a build is kicked off automatically to create and test the packages in Chef's internal CI cluster.
- `unstable`: When a package is built, it enters the unstable channel. When all packages for all OS's have successfully built, the test phase is kicked off in Jenkins across all supported OS's. These builds are password-protected and generally only available to the test systems.
-- `current`: If the packages pass all the tests on all supported OS's, it is promoted as a unit to `current`, and is available via Chef's artifactory by running `curl https://www.chef.io/chef/install.sh | sudo bash -s -- -c current -P chef`
-- `stable`: Periodically, Chef will pick a release to "bless" for folks who would like a slower update schedule than "every time a build passes the tests." When this happens, it is manually promoted to stable and an announcement is sent to the list. It can be reached at https://downloads.chef.io or installed using the `curl` command without specifying `-c current`. Packages in `stable` are no longer available in `current`.
+- `current`: If the packages pass all the tests on all supported OS's, it is promoted as a unit to `current`, and is available by running `curl https://www.chef.io/chef/install.sh | sudo bash -s -- -c current -P chef` or at <https://downloads.chef.io/chef/current>
+- `stable`: Periodically, Chef will pick a release to "bless" for folks who would like a slower update schedule than "every time a build passes the tests." When this happens, it is manually promoted to stable and an announcement is sent to the list. It can be reached at <https://downloads.chef.io> or installed using the `curl` command without specifying `-c current`. Packages in `stable` are no longer available in `current`.
Additionally, periodically Chef will update the desired versions of chef components and check that in to `master`, triggering a new build with the updated components in it.
## Automated Version Bumping
-Whenever a change is checked in to `master`, the patch version of `chef` is bumped. To do this, the `lita-versioner` bot listens to github for merged PRs, and when it finds one, takes these actions:
+Whenever a change is checked in to `master`, the patch version of `chef` is bumped. To do this, the `chef-ci` bot listens to GitHub for merged PRs, and when it finds one, takes these actions:
-1. Bumps the patch version in `lib/chef/version.rb` (e.g. 0.9.14 -> 0.9.15).
-2. Runs `rake bundle:install` to update the `Gemfile.lock` to include the new version.
-3. Runs `rake changelog:update` to update the `CHANGELOG.md`.
-4. Pushes to `master` and submits a new build to Chef's Jenkins cluster.
+1. Bumps the patch version (e.g. 14.1.14 -> 14.1.15) by running ./ci/version_bump.sh
+2. Updates the changelog with the new pull request and current point release
+3. Pushes to `master` and submits a new build to Chef's Jenkins cluster.
## Bumping the minor version of Chef
@@ -180,20 +170,25 @@ After each "official" stable release we need to bump the minor version. To do th
Submit a PR with the changes made by the above.
-## Addressing a Regression
+## Branch Structure
-Sometimes, regressions split through the cracks. Since new functionality is always being added and the minor version is bumped immediately after release, we can't simply roll forward. In this scenario, we'll need to perform a special regression release process. In the example that follows, the stable release with a regression is `1.10.60` while master is currently sitting at `1.11.30`. *Note:* To perform this process, you must be a Chef employee.
+We develop and ship the current release of Chef off the master branch of this repository. Our goal is that master should always be in a shipable state. Previous stable releases of Chef are developed on their own branches named by the major version (ex: chef-13 or chef-12). We do not perform direct development on these stable branches except to resolve build failures. Instead we backport fixes from our master branch to these stable branches. Stable branches receive critical bugfixes and security releases and stable Chef releases are made as necessary for security purposes.
-1. If the regression has not already been addressed, open a Pull Request against master with the fix.
-2. Wait until that Pull Request has been merged and `1.11.31` has passed all the necessary tests and is available in the current channel.
-3. Inspect the Git history and find the `SHA` associated with the Merge Commit for the Pull Request above.
-4. Apply the fix for the regression via a cherry-pick:
- 1. Check out the stable release tag: `git checkout v1.10.60`
+## Backporting Fixes to Stable Releases
+
+If there is a critical fix you believe should be backported from master to a stable branch please follow these steps to backport your change:
+
+1. Ask in the #chef-dev channel on [Chef Community Slack](https://community-slack.chef.io/) if this is an appropriate change to backport.
+3. Inspect the Git history and find the `SHA`(s) associated with the fix.
+4. Backport the fix to a branch via cherry-pick:
+ 1. Check out the stable release branch: `git checkout chef-13`
+ 1. Create a branch for your backport: `git checkout -b my_great_bug_packport`
2. Cherry Pick the SHA with the fix: `git cherry-pick SHA`
3. Address any conflicts (if necessary)
- 4. Tag the sha with the appropriate version: `git tag -a v1.10.61 -m "Release v1.10.61"`
- 5. Push the new tag to origin: `git push origin --tags`
-5. Log in to Jenkins and trigger a `chef-trigger-release` job specifying the new tag as the `GIT_REF`.
+ 5. Push the new branch to your origin: `git push origin`
+5. Open a PR for your backport
+ 1. The PR title should be `Backport: ORIGINAL_PR_TEXT`
+ 2. The description should link to the original PR and include a description of why it needs to be backported
## Component Versions
@@ -230,7 +225,7 @@ Chef - A configuration management system
| | |
|:---------------------|:-----------------------------------------|
| **Author:** | Adam Jacob (<adam@chef.io>)
-| **Copyright:** | Copyright 2008-2016, Chef Software, Inc.
+| **Copyright:** | Copyright 2008-2018, Chef Software, Inc.
| **License:** | Apache License, Version 2.0
```