summaryrefslogtreecommitdiff
path: root/.expeditor/update_version.sh
diff options
context:
space:
mode:
authorJaymala Sinha <jsinha@chef.io>2019-05-17 13:33:27 -0400
committerJaymala Sinha <jsinha@chef.io>2019-05-17 13:43:25 -0400
commit4265595d29295b9daf69d46ebfb5b28c6afe95d5 (patch)
tree8399d593bea16cbab613ec982450a15b8c02f8a9 /.expeditor/update_version.sh
parentd9e3ba467bc4669444a451abd3cb4e4a2052df3a (diff)
downloadchef-4265595d29295b9daf69d46ebfb5b28c6afe95d5.tar.gz
Add chef-14 update_version scriptjsinha/add_local_updateversion
Signed-off-by: Jaymala Sinha <jsinha@chef.io>
Diffstat (limited to '.expeditor/update_version.sh')
-rw-r--r--.expeditor/update_version.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/.expeditor/update_version.sh b/.expeditor/update_version.sh
new file mode 100644
index 0000000000..e9d3268b5a
--- /dev/null
+++ b/.expeditor/update_version.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+############################################################################
+# What is this script?
+#
+# Chef uses a workflow tool called Expeditor to manage version bumps, changelogs
+# and releases. After a PR is merged in Chef Expeditor calls this script to update
+# the PATCH version in the VERSION file as well as the version.rb file in both chef
+# and chef-config. When that's done it bundle updates to pull in that new chef-config.
+############################################################################
+
+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 --jobs=7 --conservative
+
+# Once Expeditor finishes executing this script, it will commit the changes and push
+# the commit as a new tag corresponding to the value in the VERSION file. \ No newline at end of file