summaryrefslogtreecommitdiff
path: root/.expeditor
diff options
context:
space:
mode:
authorJose Asuncion <jose.asuncion@gmail.com>2017-09-25 17:00:51 -0700
committerJose Asuncion <jose.asuncion@gmail.com>2017-09-25 17:02:56 -0700
commitd3cf74513829347db86f451cdd3ecc06bab01072 (patch)
tree52bb0cd7e26b15226db7cd60893a8bffb782acb5 /.expeditor
parentbdf090c43e46a1aeec80c6b495c6858f9c2d6300 (diff)
parent87feda303b3d8e0bb4fc08b6f7642b44f82c075d (diff)
downloadchef-d3cf74513829347db86f451cdd3ecc06bab01072.tar.gz
Merge branch 'master' into feat/5556
Signed-off-by: Jose Asuncion <jeunito@gmail.com>
Diffstat (limited to '.expeditor')
-rw-r--r--.expeditor/config.yml82
-rwxr-xr-x.expeditor/update_dockerfile.sh8
-rwxr-xr-x[-rw-r--r--].expeditor/update_version.sh25
3 files changed, 73 insertions, 42 deletions
diff --git a/.expeditor/config.yml b/.expeditor/config.yml
index fcf7377c93..a64b2cbab0 100644
--- a/.expeditor/config.yml
+++ b/.expeditor/config.yml
@@ -1,31 +1,71 @@
-# The name of the product key for this product from mixlib-install
-product_key: chef
+# Documentation available at https://expeditor-docs.es.chef.io/
+
+# 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 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"
-
- # When a PR is merged, bump the PATCH version
- bump_version_on_merge: true
-
- # After the PATCH version has been bumped, execute this script
- # to distribute that version to other files in the repository.
- update_version_script: ".expeditor/update_version.sh"
-
- # The tag format Expeditor should use when tagging version commits
+ # 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"
+ - "Expeditor: Skip Version Bump"
+ - "Expeditor: Skip All"
+ - bash:.expeditor/update_version.sh:
+ only_if: built_in:bump_version
+ - built_in:update_changelog:
+ ignore_labels:
+ - "Meta: Exclude From Changelog"
+ - "Expeditor: Exclude From Changelog"
+ - "Expeditor: Skip All"
+ - built_in:trigger_omnibus_release_build:
+ ignore_labels:
+ - "Omnibus: Skip Build"
+ - "Expeditor: Skip Build"
+ - "Expeditor: Skip All"
+ only_if: built_in:bump_version
- # After the version is bumped and the tag is pushed to Github, trigger a Jenkins build
- trigger_build_on_bump: true
+# 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
+ - built_in:notify_chefio_slack_channels
diff --git a/.expeditor/update_dockerfile.sh b/.expeditor/update_dockerfile.sh
new file mode 100755
index 0000000000..9ae260fcb8
--- /dev/null
+++ b/.expeditor/update_dockerfile.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+#
+# This file updates the default VERSION build argument in the Dockerfile to the
+# VERSION passed in to the file via environment variables.
+
+set -evx
+
+sed -i -r "s/^ARG VERSION=.+/ARG VERSION=${VERSION}/" Dockerfile
diff --git a/.expeditor/update_version.sh b/.expeditor/update_version.sh
index 0dd9d0d65f..b2d76bc336 100644..100755
--- a/.expeditor/update_version.sh
+++ b/.expeditor/update_version.sh
@@ -6,28 +6,11 @@
set -evx
-# The github-changelog-generator requires that LANG be set
-export LANG=en_US.UTF-8
+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
-# Only install groups required to run the Rake command
-export BUNDLE_WITHOUT=omnibus_package:test:pry:integration:docgen:maintenance:travis:aix:bsd:linux:mac_os_x:solaris:windows:development
-
-# We need to run a bundle install so that our `bundle exec rake` command will work.
-gem environment
-omnibus_bundler=$(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
-gem install bundler -v $omnibus_bundler --user-install --conservative
-bundle install
-
-# Run a rake command that will update various files in chef/chef-dk with the new VERSION
-bundle exec rake version:update
-
-# Run the following commands to update the changelog and dockerfile, but ignore errors.
-bundle exec rake changelog:update || true
-bundle exec rake update_dockerfile || true
-
-# Our `rake` command can sometimes modify this file, but we don't care about the
-# changes it makes. Reset it to HEAD.
-git checkout .bundle/config || true
+# 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.