diff options
author | Tom Duffield <tom@chef.io> | 2017-08-12 09:03:20 -0500 |
---|---|---|
committer | Bryan McLellan <btm@loftninjas.org> | 2017-08-13 12:15:27 -0400 |
commit | f1e0ce7949a91b9ca41177c12e0efa63df5ed433 (patch) | |
tree | 740114a89b3f925c157149bdfe407ba61e2909f5 | |
parent | 723218b79b76aa7ef730ea31c8bffdd5fd2d9f86 (diff) | |
download | chef-f1e0ce7949a91b9ca41177c12e0efa63df5ed433.tar.gz |
Add Expeditor to chef-12 branch
Signed-off-by: Tom Duffield <tom@chef.io>
-rw-r--r-- | .expeditor/config.yml | 88 | ||||
-rwxr-xr-x | .expeditor/update_dockerfile.sh | 0 | ||||
-rwxr-xr-x | .expeditor/update_version.sh | 16 |
3 files changed, 104 insertions, 0 deletions
diff --git a/.expeditor/config.yml b/.expeditor/config.yml new file mode 100644 index 0000000000..e51cf1e517 --- /dev/null +++ b/.expeditor/config.yml @@ -0,0 +1,88 @@ +# 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 + +# 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`) +# diff --git a/.expeditor/update_dockerfile.sh b/.expeditor/update_dockerfile.sh new file mode 100755 index 0000000000..e69de29bb2 --- /dev/null +++ b/.expeditor/update_dockerfile.sh diff --git a/.expeditor/update_version.sh b/.expeditor/update_version.sh new file mode 100755 index 0000000000..b2d76bc336 --- /dev/null +++ b/.expeditor/update_version.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# +# After a PR merge, Chef Expeditor will bump the PATCH version in the VERSION file. +# It then executes this file to update any other files/components with that new version. +# + +set -evx + +sed -i -r "s/^(\s*)VERSION = \".+\"/\1VERSION = \"$(cat VERSION)\"/" chef-config/lib/chef-config/version.rb +sed -i -r "s/VersionString\.new\(\".+\"\)/VersionString.new(\"$(cat VERSION)\")/" lib/chef/version.rb + +# Update the version inside Gemfile.lock +bundle update chef chef-config + +# Once Expeditor finshes executing this script, it will commit the changes and push +# the commit as a new tag corresponding to the value in the VERSION file. |