summaryrefslogtreecommitdiff
path: root/.expeditor/config.yml
diff options
context:
space:
mode:
authorTom Duffield <tom@chef.io>2017-07-20 13:57:28 -0500
committerTom Duffield <tom@chef.io>2017-07-24 10:15:17 -0500
commit43616bb699dccad598c88df55682d2a7821ad7ee (patch)
tree084c41ee85a9036beee53ac9effc96c43ec1df7b /.expeditor/config.yml
parent89d13b94b7de1d4d16304065425c3349d1222148 (diff)
downloadchef-43616bb699dccad598c88df55682d2a7821ad7ee.tar.gz
Update Expeditor config to use new Merge and Artifact Actionstduffield/use-new-artifact-actions
Chef Expeditor now supports built in merge and artifact actions which allow us to reduce the burden of duplicating common processes across all our repositories. This change introduces several of these built_in functions, replacing functionality that was previously kept in our Rakefile. Signed-off-by: Tom Duffield <tom@chef.io>
Diffstat (limited to '.expeditor/config.yml')
-rw-r--r--.expeditor/config.yml79
1 files changed, 70 insertions, 9 deletions
diff --git a/.expeditor/config.yml b/.expeditor/config.yml
index 2f23fb2b2e..4273e4c514 100644
--- a/.expeditor/config.yml
+++ b/.expeditor/config.yml
@@ -1,27 +1,88 @@
-# The name of the product key for this product from mixlib-install
-product_key: chef
+# The name of the product keys for this product (from mixlib-install)
+product_key:
+ - chef
+ - angrychef
# Slack channel in Chef Software slack to send notifications about build failures, etc
slack:
notify_channel: chef-notify
-# When a version of ChefDK hits the current channel, build a corresponding Docker image
-# and publish that image to https://hub.docker.com/r/chef/chefdk
-docker:
- enable: true
- build_args:
- CHANNEL: "{{channel}}"
- VERSION: "{{version}}"
+# Which Ruby Gems, built when the Omnibus package is built, to publish to rubygems.org
+# This publish is triggered by the `built_in:publish_rubygems` artifact_action.
+rubygems:
+ - chef
+ - chef-config
github:
+ # The file where the MAJOR.MINOR.PATCH version is kept. The version in this file
+ # is bumped automatically via the `built_in:bump_version` merge_action.
+ version_file: "VERSION"
+ # The file where our CHANGELOG is kept. This file is updated automatically with
+ # details from the Pull Request via the `built_in:update_changelog` merge_action.
+ changelog_file: "CHANGELOG.md"
+ # The tag format to use (e.g. v1.0.0)
version_tag_format: "v{{version}}"
+ # The Github Team primarily responsible for handling incoming Pull Requests.
maintainer_group: chef/client-core
+ # Which Github branches to build Omnibus releases from, and what versions
+ # (as determined by the value in the VERSION file) those branches are responsible
+ # for building.
+ release_branch:
+ master:
+ version_constraint: ~> 13.0
+ chef-12:
+ version_constraint: ~> 12.0
+# These actions are taken, in order they are specified, anytime a Pull Request is merged.
merge_actions:
built_in:bump_version:
ignore_labels: "Version: Skip Bump"
bash:.expeditor/update_version.sh:
only_if: built_in:bump_version
+ built_in:update_changelog:
+ ignore_labels: "Meta: Exclude From Changelog"
built_in:trigger_omnibus_release_build:
ignore_labels: "Omnibus: Skip Build"
only_if: built_in:bump_version
+
+# These actions are taken, in the order specified, when an Omnibus artifact is promoted
+# within Chef's internal artifact storage system.
+artifact_actions:
+ promoted_to_unstable:
+ built_in:build_docker_image:
+ promoted_to_current:
+ built_in:tag_docker_image:
+ promoted_to_stable:
+ built_in:tag_docker_image:
+ built_in:publish_rubygems:
+ built_in:rollover_changelog:
+ bash:.expeditor/update_dockerfile.sh:
+
+
+###############################################################################
+# Notes on the tags inside CHANGELOG.md
+###############################################################################
+# latest_release
+# The content inside this block contains the most recent Pull Request to be
+# merged into the repository. When the `built_in:update_changelog` merge_action
+# is triggered, the content of this block is updated to reflect the most recent
+# Pull Request merged.
+#
+# release_rollup
+# This block contains all the Pull Requests merged since the most recent
+# Stable release. When the `built_in:update_changelog` merge_action is triggered,
+# the content inside this block is updated to include the most recent Pull Request
+# merged. When the `built_in:rollover_changelog` artifact_action is trggered,
+# the line items (each `-` line) are evaluated based on the version in the tags
+# at the end of the line (e.g. `<!-- 13.0.0 -->`). If the version is more recent
+# than the version that was just promoted (e.g. `> STABLE`), it is left in the
+# release_rollup section. Otherwise, it is moved into the `latest_stable_release`
+# section.
+#
+# latest_stable_release
+# This block contains a list of all the changes that were released in the latest
+# stable version. When the `built_in:rollover_changelog` artifact_action is triggerd,
+# the content inside this block is moved underneath it and the block is updated with
+# all of the line item chanages from the `release_rollup` block that were included in
+# the just released stable build (e.g. `> STABLE-1, <= STABLE`)
+#