summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--tasks/dependencies.rb104
2 files changed, 48 insertions, 58 deletions
diff --git a/README.md b/README.md
index 4697e55190..74f2f3d330 100644
--- a/README.md
+++ b/README.md
@@ -157,7 +157,7 @@ Additionally, periodically Chef will update the desired versions of chef compone
Whenever a change is checked in to `master`, the patch version of `chef` is bumped. To do this, the `lita-versioner` bot listens to github for merged PRs, and when it finds one, takes these actions:
1. Bumps the patch version in `lib/chef/version.rb` (e.g. 0.9.14 -> 0.9.15).
-2. Runs `rake dependencies:update_conservative` to update the `Gemfile.lock` to include the new version.
+2. Runs `rake bundle:install` to update the `Gemfile.lock` to include the new version.
3. Pushes to `master` and submits a new build to Chef's Jenkins cluster.
## Component Versions
diff --git a/tasks/dependencies.rb b/tasks/dependencies.rb
index 2faf3b883a..eb4bb1f44f 100644
--- a/tasks/dependencies.rb
+++ b/tasks/dependencies.rb
@@ -22,8 +22,8 @@ require_relative "../version_policy"
desc "Tasks to update and check dependencies"
namespace :dependencies do
# Update all dependencies to the latest constraint-matching version
- desc "Update all dependencies. dependencies:update[conservative] to update as little as possible."
- task :update, [:conservative] => %w{
+ desc "Update all dependencies. dependencies:update to update as little as possible."
+ task :update => %w{
dependencies:update_gemfile_lock
dependencies:update_omnibus_overrides
dependencies:update_omnibus_gemfile_lock
@@ -32,28 +32,22 @@ namespace :dependencies do
dependencies:update_kitchen_tests_berksfile_lock
}
- desc "Update Gemfile.lock and all Gemfile.<platform>.locks. update_gemfile_lock[conservative] to update as little as possible."
- task :update_gemfile_lock, [:conservative] do |t, rake_args|
- conservative = rake_args[:conservative]
- if conservative
- Rake::Task["bundle:install"].invoke
- else
- Rake::Task["bundle:update"].invoke
- end
+ desc "Update Gemfile.lock and all Gemfile.<platform>.locks."
+ task :update_gemfile_lock do |t, rake_args|
+ Rake::Task["bundle:update"].invoke
end
def gemfile_lock_task(task_name, dirs: [], other_platforms: true, leave_frozen: true)
dirs.each do |dir|
- desc "Update #{dir}/Gemfile.lock. #{task_name}[conservative] to update as little as possible."
- task task_name, [:conservative] do |t, rake_args|
+ desc "Update #{dir}/Gemfile.lock."
+ task task_name do |t, rake_args|
extend BundleUtil
- conservative = rake_args[:conservative]
puts ""
puts "-------------------------------------------------------------------"
- puts "Updating #{dir}/Gemfile.lock#{conservative ? " (conservatively)" : ""} ..."
+ puts "Updating #{dir}/Gemfile.lock ..."
puts "-------------------------------------------------------------------"
with_bundle_unfrozen(cwd: dir, leave_frozen: leave_frozen) do
- bundle "install", cwd: dir, delete_gemfile_lock: !conservative
+ bundle "install", cwd: dir, delete_gemfile_lock: true
if other_platforms
# Include all other supported platforms into the lockfile as well
platforms.each do |platform|
@@ -67,15 +61,14 @@ namespace :dependencies do
def berksfile_lock_task(task_name, dirs: [])
dirs.each do |dir|
- desc "Update #{dir}/Berksfile.lock. #{task_name}[conservative] to update as little as possible."
- task task_name, [:conservative] do |t, rake_args|
+ desc "Update #{dir}/Berksfile.lock."
+ task task_name do |t, rake_args|
extend BundleUtil
- conservative = rake_args[:conservative]
puts ""
puts "-------------------------------------------------------------------"
- puts "Updating #{dir}/Berksfile.lock#{conservative ? " (conservatively)" : ""} ..."
+ puts "Updating #{dir}/Berksfile.lock ..."
puts "-------------------------------------------------------------------"
- if !conservative && File.exist?("#{project_root}/#{dir}/Berksfile.lock")
+ if File.exist?("#{project_root}/#{dir}/Berksfile.lock")
File.delete("#{project_root}/#{dir}/Berksfile.lock")
end
Dir.chdir("#{project_root}/#{dir}") do
@@ -100,48 +93,45 @@ namespace :dependencies do
}
# kitchen-tests/cookbooks/webapp isn't solving right now ....
- desc "Update omnibus overrides, including versions in version_policy.rb and latest version of gems: #{OMNIBUS_RUBYGEMS_AT_LATEST_VERSION.keys}. update_omnibus_overrides[conservative] does nothing."
- task :update_omnibus_overrides, [:conservative] do |t, rake_args|
- conservative = rake_args[:conservative]
- unless conservative
- puts ""
- puts "-------------------------------------------------------------------"
- puts "Updating omnibus_overrides.rb ..."
- puts "-------------------------------------------------------------------"
-
- # Generate the new overrides file
- overrides = "# DO NOT EDIT. Generated by \"rake dependencies\". Edit version_policy.rb instead.\n"
+ desc "Update omnibus overrides, including versions in version_policy.rb and latest version of gems: #{OMNIBUS_RUBYGEMS_AT_LATEST_VERSION.keys}."
+ task :update_omnibus_overrides do |t, rake_args|
+ puts ""
+ puts "-------------------------------------------------------------------"
+ puts "Updating omnibus_overrides.rb ..."
+ puts "-------------------------------------------------------------------"
- # Replace the bundler and rubygems versions
- OMNIBUS_RUBYGEMS_AT_LATEST_VERSION.each do |override_name, gem_name|
- # Get the latest bundler version
- puts "Running gem list -r #{gem_name} ..."
- gem_list = `gem list -r #{gem_name}`
- unless gem_list =~ /^#{gem_name}\s*\(([^)]*)\)$/
- raise "gem list -r #{gem_name} failed with output:\n#{gem_list}"
- end
+ # Generate the new overrides file
+ overrides = "# DO NOT EDIT. Generated by \"rake dependencies\". Edit version_policy.rb instead.\n"
- # Emit it
- puts "Latest version of #{gem_name} is #{$1}"
- overrides << "override #{override_name.inspect}, version: #{$1.inspect}\n"
+ # Replace the bundler and rubygems versions
+ OMNIBUS_RUBYGEMS_AT_LATEST_VERSION.each do |override_name, gem_name|
+ # Get the latest bundler version
+ puts "Running gem list -r #{gem_name} ..."
+ gem_list = `gem list -r #{gem_name}`
+ unless gem_list =~ /^#{gem_name}\s*\(([^)]*)\)$/
+ raise "gem list -r #{gem_name} failed with output:\n#{gem_list}"
end
- # Add explicit overrides
- OMNIBUS_OVERRIDES.each do |override_name, version|
- overrides << "override #{override_name.inspect}, version: #{version.inspect}\n"
- end
+ # Emit it
+ puts "Latest version of #{gem_name} is #{$1}"
+ overrides << "override #{override_name.inspect}, version: #{$1.inspect}\n"
+ end
- # Write the file out (if changed)
- overrides_path = File.expand_path("../../omnibus_overrides.rb", __FILE__)
- if overrides != IO.read(overrides_path)
- puts "Overrides changed!"
- puts `git diff #{overrides_path}`
- puts "Writing modified #{overrides_path} ..."
- IO.write(overrides_path, overrides)
- end
+ # Add explicit overrides
+ OMNIBUS_OVERRIDES.each do |override_name, version|
+ overrides << "override #{override_name.inspect}, version: #{version.inspect}\n"
+ end
+
+ # Write the file out (if changed)
+ overrides_path = File.expand_path("../../omnibus_overrides.rb", __FILE__)
+ if overrides != IO.read(overrides_path)
+ puts "Overrides changed!"
+ puts `git diff #{overrides_path}`
+ puts "Writing modified #{overrides_path} ..."
+ IO.write(overrides_path, overrides)
end
end
end
-desc "Update all dependencies and check for outdated gems. Call dependencies[conservative] to update as little as possible."
-task :dependencies, [:conservative] => [ "dependencies:update", "bundle:outdated" ]
-task :update, [:conservative] => [ "dependencies:update", "bundle:outdated"]
+desc "Update all dependencies and check for outdated gems."
+task :dependencies => [ "dependencies:update", "bundle:outdated" ]
+task :update => [ "dependencies:update", "bundle:outdated"]