diff options
author | Jose Asuncion <jose.asuncion@gmail.com> | 2017-09-25 17:00:51 -0700 |
---|---|---|
committer | Jose Asuncion <jose.asuncion@gmail.com> | 2017-09-25 17:02:56 -0700 |
commit | d3cf74513829347db86f451cdd3ecc06bab01072 (patch) | |
tree | 52bb0cd7e26b15226db7cd60893a8bffb782acb5 /.expeditor | |
parent | bdf090c43e46a1aeec80c6b495c6858f9c2d6300 (diff) | |
parent | 87feda303b3d8e0bb4fc08b6f7642b44f82c075d (diff) | |
download | chef-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.yml | 82 | ||||
-rwxr-xr-x | .expeditor/update_dockerfile.sh | 8 | ||||
-rwxr-xr-x[-rw-r--r--] | .expeditor/update_version.sh | 25 |
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. |