summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2019-04-08 21:16:53 -0700
committerTim Smith <tsmith@chef.io>2019-04-23 16:53:22 -0700
commita45f6a5acfd1dbf62fdd71002c6a279806f016ee (patch)
tree1178bdd662d15f17633ade062a63c007a90e2a11
parentaa5560b99bbbf8b43ae20da511a5168a3d41ad0e (diff)
downloadchef-a45f6a5acfd1dbf62fdd71002c6a279806f016ee.tar.gz
More and expand more dev docs
Signed-off-by: Tim Smith <tsmith@chef.io>
-rw-r--r--README.md27
-rw-r--r--docs/dev/README.md16
-rw-r--r--docs/dev/how_to/branching_and_backporting.md21
-rw-r--r--docs/dev/how_to/building_and_installing.md (renamed from docs/dev/building_and_installing.md)0
-rw-r--r--docs/dev/how_to/bumping_minor_or_major_versions.md15
-rw-r--r--docs/dev/how_to/updating_dependencies.md (renamed from docs/dev/updating_dependencies.md)0
6 files changed, 47 insertions, 32 deletions
diff --git a/README.md b/README.md
index 3c3926e67a..67861b37c8 100644
--- a/README.md
+++ b/README.md
@@ -85,33 +85,6 @@ Whenever a change is checked in to `master`, the patch version of `chef` is bump
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
-
-After each "official" stable release we need to bump the minor version. To do this:
-
-1. Run `bundle exec rake version:bump_minor`
-
-Submit a PR with the changes made by the above.
-
-## Branch Structure
-
-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.
-
-## 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)
- 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
diff --git a/docs/dev/README.md b/docs/dev/README.md
index afe8d0c1ac..a72b61dc6f 100644
--- a/docs/dev/README.md
+++ b/docs/dev/README.md
@@ -1,9 +1,15 @@
# Chef Infra Development Documentation
-This directory contains a collection of useful guides for both new and seasoned Chef contributors. There are many guides explaining how to build, test, and contribute to Chef Infra as well as documents describing how the many subsystems function.
+This directory contains a collection of useful how-to guides for both new and seasoned Chef contributors. There are many guides explaining how to build, test, and contribute to Chef Infra as well as documents describing how the many subsystems function.
-## Contents
+## How-To Guides
-- [Building and Installing](./building_and_installing.md)
-- [Updating Dependencies](./updating_dependencies.md)
-- [Design Documents](./design_documents/) \ No newline at end of file
+- [Building and Installing](./how_to/building_and_installing.md)
+- [Branching and Backporting](./how_to/branching_and_backporting.md)
+- [Updating Dependencies](./how_to/updating_dependencies.md)
+- [Bumping Major and Minor Versions](./how_to/bumping_minor_or_major_versions.md)
+
+## Design Documents
+
+- [Data Collection](./design_documents/data_collector.md)
+- [Action Collect](./design_documents/action_collection.md)
diff --git a/docs/dev/how_to/branching_and_backporting.md b/docs/dev/how_to/branching_and_backporting.md
new file mode 100644
index 0000000000..02024c9bf8
--- /dev/null
+++ b/docs/dev/how_to/branching_and_backporting.md
@@ -0,0 +1,21 @@
+# Branching and Backporting
+
+## Branch Structure
+
+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-14 or chef-13). 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.
+
+## 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-14`
+ 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)
+ 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 \ No newline at end of file
diff --git a/docs/dev/building_and_installing.md b/docs/dev/how_to/building_and_installing.md
index 70510fddea..70510fddea 100644
--- a/docs/dev/building_and_installing.md
+++ b/docs/dev/how_to/building_and_installing.md
diff --git a/docs/dev/how_to/bumping_minor_or_major_versions.md b/docs/dev/how_to/bumping_minor_or_major_versions.md
new file mode 100644
index 0000000000..36b475aa58
--- /dev/null
+++ b/docs/dev/how_to/bumping_minor_or_major_versions.md
@@ -0,0 +1,15 @@
+# How To Bump Minor / Major Versions
+
+## When to Bump Versions
+
+
+After performing the monthly minor release of Chef we should wait several days, and then bumpp the version for the next month's release. Why wait? Well we don't want to bump the version until we're sure we don't need to perform an emergency release for a regression. Once we're fairly confident we won't be performing a regression release we want all new builds for the current channel to have the next month's version. This makes it very clear what version of Chef users are testing within the current channel.
+
+Bumping for the yearly major release is a bit different. We can bump for the new major release once we create a stable branch for the current major version number. Once this branch and version bump occurs all development on master will be for the upcoming major release, and anything going into the stable release will need to be backported. See [Branching and Backporting](branching_and_backporting.md) for more information on how we branch and backport to stable.
+
+### How to Bump
+
+Chef's Expeditor tool includes functionality to bump the minor or major version of the product. By using Expeditor to bump versions we can perform a bump without directly editing the version files. A version bump is performed when a PR is merged with either of these two labels applied:
+ - Expeditor: Bump Version Minor
+ - Expeditor: Bump Version Major
+
diff --git a/docs/dev/updating_dependencies.md b/docs/dev/how_to/updating_dependencies.md
index f57cc76708..f57cc76708 100644
--- a/docs/dev/updating_dependencies.md
+++ b/docs/dev/how_to/updating_dependencies.md