summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2017-04-25 19:04:04 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2017-04-25 20:54:33 -0700
commit6b8130ad431fd61ce865734e7172efc3e0eba672 (patch)
tree20fd804551035dee4972e8faf3469617a39e0c24
parent71863634ac50dbfb2601de536828b779517066ae (diff)
downloadchef-lcg/simplify-external-tests.tar.gz
major testing overhaullcg/simplify-external-tests
See the PR comments for more philosophical background. This simplifies the external tests. The major feature here is that halite, poise, chefspec, etc are removed from the Gemfile.lock and the transitive Gemfile splicing is gone from the external tests. We're back to simply tracking master on external projects and bundle installing without locks and going red if the break. Those external projects should all similarly track master of chef/chef to reduce the possibility that they break us here. This also bumps bundler to 1.14.x and unblocks us there. It continues to simplify our use of bundler to be more mainstream and less impenetrable. There was some crazy shit that I found where I had to remove env vars like BUNDLE_ENABLE_TRAMPOLINE and the BUNDLE_IGNORE_CONFIG and BUNDLE_FROZEN env vars in appveyor along with the .bundle/config frozen setting were necessary to unbreak appveyor. We seem to have gotten very far afield of standard bundler usage and it was breaking in strange to debug ways. Oddly enough this exposed weird errors in the chef-config/spec/units/fips_spec.rb tests where we need to require the "win32/registry" file there now even though I can't figure out why that broke or how it was working previously. Also, adding x64-mingw32 to x86-mingw32 was necessary to test in appveyor on 64-bit windows (I tried universal-mingw32 and that failed) which seems obvious and is another case that I don't understand how it was working in bundler 1.12.x Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
-rw-r--r--.bundle/config2
-rw-r--r--.gitignore2
-rw-r--r--.travis.yml92
-rw-r--r--Gemfile26
-rw-r--r--Gemfile.lock239
-rw-r--r--appveyor.yml6
-rw-r--r--chef-config/spec/unit/fips_spec.rb8
-rw-r--r--omnibus_overrides.rb2
-rwxr-xr-xtasks/bin/run_external_test62
-rw-r--r--tasks/bundle.rb8
-rw-r--r--tasks/dependencies.rb4
-rw-r--r--version_policy.rb2
12 files changed, 104 insertions, 349 deletions
diff --git a/.bundle/config b/.bundle/config
deleted file mode 100644
index e520135ebc..0000000000
--- a/.bundle/config
+++ /dev/null
@@ -1,2 +0,0 @@
----
-BUNDLE_FROZEN: "1"
diff --git a/.gitignore b/.gitignore
index aaf9fa045e..83e7f8cad3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,7 +16,7 @@ external_tests/*.lock
# http://gembundler.com/man/bundle-exec.1.html
b/
binstubs/
-**/.bundle
+.bundle
# RVM and RBENV ruby version files
.rbenv-version
.rvmrc
diff --git a/.travis.yml b/.travis.yml
index e25c8535bf..feb05fe13f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -12,8 +12,6 @@ before_install:
- bundle --version
- rm -f .bundle/config
-bundler_args: --without ci development docgen guard maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
-
before_script:
# force all .rspec tests into progress display to reduce line count
- echo --color > .rspec
@@ -30,7 +28,6 @@ branches:
env:
global:
- FORCE_FFI_YAJL=ext
- - BUNDLE_ENABLE_TRAMPOLINE=1
matrix:
include:
@@ -38,68 +35,58 @@ matrix:
sudo: true
script: sudo -E $(which bundle) exec rake spec;
# also remove integration / external tests
- bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+ bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
- rvm: 2.4.1
sudo: true
script: sudo -E $(which bundle) exec rake spec;
# also remove integration / external tests
- bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+ bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
- env:
CHEFSTYLE: 1
rvm: 2.4.1
script: bundle exec rake style
# also remove integration / external tests
- bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+ bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
- env:
AUDIT_CHECK: 1
rvm: 2.4.1
script: bundle exec bundle-audit check --update
# also remove integration / external tests
- bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+ bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
#
# External tests
#
- env:
- TEST_GEM: chef-sugar
- script: tasks/bin/run_external_test $TEST_GEM rake
+ TEST_GEM: sethvargo/chef-sugar
+ script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake
+ rvm: 2.4.1
+ - env:
+ TEST_GEM: chef/chef-zero
+ script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec cheffs
+ rvm: 2.4.1
+ - env:
+ TEST_GEM: chef/cheffish
+ script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec
rvm: 2.4.1
- env:
- - TEST_GEM: chef-zero
- script: tasks/bin/run_external_test $TEST_GEM rake spec cheffs
+ TEST_GEM: sethvargo/chefspec
+ script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake
rvm: 2.4.1
- env:
- TEST_GEM: cheffish
- script: tasks/bin/run_external_test $TEST_GEM rake spec
+ TEST_GEM: foodcritic/foodcritic
+ script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake test
rvm: 2.4.1
- #- env:
- # TEST_GEM: chefspec
- ## The chefspec tests + bundler cache + "gem update --system" interact badly :/
- ## (Cucumber doesn't start.)
- #before_install:
- # - gem uninstall bundler -a -x
- # - rvm @global do gem uninstall bundler -a -x
- # - gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
- # - bundle config --local without server:docgen:maintenance:omnibus_package:development:ruby_prof:pry
- #script: tasks/bin/run_external_test $TEST_GEM rake
- #rvm: 2.4.1
- env:
- TEST_GEM: foodcritic
- script: tasks/bin/run_external_test $TEST_GEM rake test
+ TEST_GEM: poise/halite
+ script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec
rvm: 2.4.1
- env:
- TEST_GEM: halite
- script: tasks/bin/run_external_test $TEST_GEM rake spec
+ TEST_GEM: chef/knife-windows
+ script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake unit_spec
rvm: 2.4.1
- # this has been broken for some time and running incorrectly, see:
- #
- # see https://github.com/chef/knife-windows/pull/421
- #- env:
- # TEST_GEM: knife-windows
- #script: tasks/bin/run_external_test $TEST_GEM rake unit_spec
- #rvm: 2.4.1
- env:
- TEST_GEM: poise
- script: tasks/bin/run_external_test $TEST_GEM rake spec
+ TEST_GEM: poise/poise
+ script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec
rvm: 2.4.1
### START TEST KITCHEN ONLY ###
#
@@ -110,7 +97,7 @@ matrix:
before_install:
- gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2)
- gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
- bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+ bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
before_script:
- sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
- cd kitchen-tests
@@ -128,7 +115,7 @@ matrix:
before_install:
- gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2)
- gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
- bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+ bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
before_script:
- sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
- cd kitchen-tests
@@ -146,7 +133,7 @@ matrix:
before_install:
- gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2)
- gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
- bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+ bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
before_script:
- sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
- cd kitchen-tests
@@ -164,7 +151,7 @@ matrix:
before_install:
- gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2)
- gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
- bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+ bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
before_script:
- sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
- cd kitchen-tests
@@ -182,7 +169,7 @@ matrix:
before_install:
- gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2)
- gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
- bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+ bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
before_script:
- sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
- cd kitchen-tests
@@ -200,7 +187,7 @@ matrix:
before_install:
- gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2)
- gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
- bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+ bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
before_script:
- sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
- cd kitchen-tests
@@ -218,7 +205,7 @@ matrix:
# before_install:
# - gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2)
# - gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
-# bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+# bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
# before_script:
# - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
# - cd kitchen-tests
@@ -236,7 +223,7 @@ matrix:
before_install:
- gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2)
- gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
- bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+ bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
before_script:
- sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
- cd kitchen-tests
@@ -254,7 +241,7 @@ matrix:
# before_install:
# - gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2)
# - gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
-# bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+# bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
# before_script:
# - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
# - cd kitchen-tests
@@ -272,7 +259,7 @@ matrix:
# before_install:
# - gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2)
# - gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
-# bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+# bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
# before_script:
# - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
# - cd kitchen-tests
@@ -292,7 +279,7 @@ matrix:
- gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
- sudo apt-get update
- sudo apt-get -y install squid3 git curl
- bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+ bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
env:
- PROXY_TESTS_DIR=proxy_tests/files/default/scripts
- PROXY_TESTS_REPO=$PROXY_TESTS_DIR/repo
@@ -312,7 +299,7 @@ matrix:
before_install:
- gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2)
- gem install bundler -v $(grep bundler omnibus_overrides.rb | cut -d'"' -f2)
- bundler_args: --without ci development docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
+ bundler_args: --without ci docgen guard integration maintenance omnibus_package tools aix bsd mac_os_x solaris windows --frozen
before_script:
- sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER )
- cd kitchen-tests
@@ -323,6 +310,13 @@ matrix:
env:
- AMAZONLINUX=LATEST
- KITCHEN_YAML=.kitchen.travis.yml
+ # this has been broken for some time and running incorrectly, see:
+ #
+ # see https://github.com/chef/knife-windows/pull/421
+ - env:
+ TEST_GEM: chef/knife-windows
+ script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake unit_spec
+ rvm: 2.4.1
notifications:
on_change: true
diff --git a/Gemfile b/Gemfile
index c18357639b..1097635fd6 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,7 +1,3 @@
-# This buys us the ability to be included in other Gemfiles
-require_relative "tasks/gemfile_util"
-extend GemfileUtil
-
source "https://rubygems.org"
# Note we do not use the gemspec DSL which restricts to the
@@ -14,8 +10,6 @@ gem "chef", path: "."
gem "ohai", "~> 13"
gem "chef-config", path: File.expand_path("../chef-config", __FILE__) if File.exist?(File.expand_path("../chef-config", __FILE__))
-gem "rake"
-gem "bundler"
gem "cheffish", "~> 13" # required for rspec tests
group(:omnibus_package) do
@@ -33,22 +27,6 @@ group(:omnibus_package, :pry) do
gem "pry-stack_explorer"
end
-# These are used for external tests
-group(:integration) do
- gem "chef-sugar"
- gem "chefspec"
- gem "halite", git: "https://github.com/poise/halite.git"
- gem "poise", git: "https://github.com/poise/poise.git"
- gem "poise-boiler", git: "https://github.com/poise/poise-boiler.git"
- gem "knife-windows"
- gem "foodcritic"
-
- # We pin this so nobody brings in a cucumber-core incompatible with cucumber latest
- gem "cucumber", ">= 2.4.0"
- # We pin oc-chef-pedant to prevent it from updating out of lockstep with chef-zero
- gem "oc-chef-pedant", git: "https://github.com/chef/chef-server"
-end
-
group(:docgen) do
gem "yard"
end
@@ -72,7 +50,11 @@ group(:linux, :bsd, :mac_os_x, :solaris) do
gem "ruby-shadow", platforms: :ruby
end
+# appveyor seems to need this here?
+gem "bundler"
+
group(:development, :test) do
+ gem "rake"
gem "simplecov"
# for testing new chefstyle rules
diff --git a/Gemfile.lock b/Gemfile.lock
index bc7b08fcbb..df58cc30c5 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,20 +1,4 @@
GIT
- remote: https://github.com/chef/chef-server
- revision: 07fea253ceea254af8fbd9c602a04017751cae21
- specs:
- oc-chef-pedant (2.2.0)
- activesupport (>= 4.2.7.1, < 6.0)
- erubis (~> 2.7)
- mixlib-authentication (~> 1.4)
- mixlib-config (~> 2.0)
- mixlib-shellout (>= 1.1)
- net-http-spy (~> 0.2)
- rest-client (>= 1.6)
- rspec (~> 3.2)
- rspec-rerun (~> 1.0)
- rspec_junit_formatter (~> 0.2)
-
-GIT
remote: https://github.com/chef/chefstyle.git
revision: b2bf89dd11270e169fd2315495c98095d4a19090
branch: master
@@ -36,56 +20,6 @@ GIT
retriable (>= 1.4)
GIT
- remote: https://github.com/poise/halite.git
- revision: b9b3f61682abe1c656f57b7edbbf43d918c5c16b
- specs:
- halite (1.5.1.pre)
- bundler
- chef (>= 12.0, < 14.0)
- stove (~> 5.0)
- thor
-
-GIT
- remote: https://github.com/poise/poise-boiler.git
- revision: 40763eaded9384b1d8d3e3db6f883613b0a3ebe2
- specs:
- poise-boiler (1.14.1.pre)
- bundler
- chefspec (~> 5.0)
- codeclimate-test-reporter (~> 0.4)
- codecov (~> 0.0, >= 0.0.2)
- foodcritic (>= 7, < 9)
- fuubar (~> 2.0)
- git (~> 1.2)
- halite (~> 1.2)
- kitchen-docker (>= 2.6.0.rc.0)
- kitchen-ec2 (~> 1.0)
- kitchen-sync (~> 2.1)
- kitchen-vagrant
- mixlib-shellout (>= 1.4, < 3.0)
- poise-profiler (~> 1.0)
- pry
- pry-byebug
- rake (>= 10.4, < 12.0)
- rspec (~> 3.2)
- rspec-its (~> 1.2)
- simplecov (~> 0.9)
- test-kitchen (~> 1.7, >= 1.7.1)
- travis (~> 1.8, >= 1.8.1)
- vagrant-wrapper
- winrm (>= 1.6, < 3)
- winrm-fs (>= 0.4, < 2)
- yard (~> 0.8)
- yard-classmethods (~> 1.0)
-
-GIT
- remote: https://github.com/poise/poise.git
- revision: 47cd0e2296fed918b30b0889ed127c824cc32d30
- specs:
- poise (2.7.3.pre)
- halite (~> 1.0)
-
-GIT
remote: https://github.com/rubysec/bundler-audit.git
revision: 6eb5a81e9b184fbb8db03f3e57dc758c65dd7383
specs:
@@ -188,26 +122,13 @@ GEM
addressable (2.4.0)
appbundler (0.10.0)
mixlib-cli (~> 1.4)
- artifactory (2.8.1)
ast (2.3.0)
- aws-sdk (2.9.5)
- aws-sdk-resources (= 2.9.5)
- aws-sdk-core (2.9.5)
- aws-sigv4 (~> 1.0)
- jmespath (~> 1.0)
- aws-sdk-resources (2.9.5)
- aws-sdk-core (= 2.9.5)
- aws-sigv4 (1.0.0)
backports (3.7.0)
binding_of_caller (0.7.2)
debug_inspector (>= 0.0.1)
blankslate (2.1.2.4)
builder (3.2.3)
byebug (9.0.6)
- chef-api (0.7.0)
- logify (~> 0.1)
- mime-types
- chef-sugar (3.4.0)
chef-zero (13.0.0)
ffi-yajl (~> 2.2)
hashie (>= 2.0, < 4.0)
@@ -217,66 +138,31 @@ GEM
cheffish (13.0.0)
chef-zero (~> 13.0)
net-ssh
- chefspec (5.4.0)
- chef (>= 12.0)
- fauxhai (~> 3.6)
- rspec (~> 3.0)
- codeclimate-test-reporter (0.6.0)
- simplecov (>= 0.7.1, < 1.0.0)
- codecov (0.1.10)
- json
- simplecov
- url
coderay (1.1.1)
concurrent-ruby (1.0.5)
- cucumber (2.4.0)
- builder (>= 2.1.2)
- cucumber-core (~> 1.5.0)
- cucumber-wire (~> 0.0.1)
- diff-lcs (>= 1.1.3)
- gherkin (~> 4.0)
- multi_json (>= 1.7.5, < 2.0)
- multi_test (>= 0.1.2)
- cucumber-core (1.5.0)
- gherkin (~> 4.0)
- cucumber-wire (0.0.1)
debug_inspector (0.0.2)
diff-lcs (1.3)
docile (1.1.5)
- docker-api (1.33.3)
+ docker-api (1.33.4)
excon (>= 0.38.0)
json
- domain_name (0.5.20170404)
- unf (>= 0.0.5, < 1.0.0)
erubis (2.7.0)
ethon (0.10.1)
ffi (>= 1.3.0)
excon (0.55.0)
- faraday (0.12.0.1)
+ faraday (0.12.1)
multipart-post (>= 1.2, < 3)
faraday-http-cache (2.0.0)
faraday (~> 0.8)
faraday_middleware (0.11.0.1)
faraday (>= 0.7.4, < 1.0)
- fauxhai (3.10.0)
- net-ssh
ffi (1.9.18)
+ ffi (1.9.18-x64-mingw32)
ffi (1.9.18-x86-mingw32)
ffi-win32-extensions (1.0.3)
ffi
ffi-yajl (2.3.0)
libyajl2 (~> 1.2)
- foodcritic (8.2.0)
- cucumber-core (>= 1.3)
- erubis
- nokogiri (>= 1.5, < 2.0)
- rake
- rufus-lru (~> 1.0)
- treetop (~> 1.4)
- yajl-ruby (~> 1.1)
- fuubar (2.2.0)
- rspec-core (~> 3.0)
- ruby-progressbar (~> 1.4)
fuzzyurl (0.9.0)
gh (0.15.1)
addressable (~> 2.4.0)
@@ -285,20 +171,16 @@ GEM
multi_json (~> 1.0)
net-http-persistent (~> 2.9)
net-http-pipeline
- gherkin (4.1.1)
- git (1.3.0)
gssapi (1.2.0)
ffi (>= 1.0.1)
gyoku (1.3.1)
builder (>= 2.1.2)
hashie (3.5.5)
highline (1.7.8)
- http-cookie (1.0.3)
- domain_name (~> 0.5)
httpclient (2.8.3)
i18n (0.8.1)
iniparse (1.4.2)
- inspec (1.19.1)
+ inspec (1.21.0)
addressable (~> 2.4)
faraday (>= 0.9.0)
hashie (~> 3.4)
@@ -306,48 +188,27 @@ GEM
method_source (~> 0.8)
mixlib-log
parallel (~> 1.9)
+ parslet (~> 1.5)
pry (~> 0)
rainbow (~> 2)
rspec (~> 3)
rspec-its (~> 1.2)
rubyzip (~> 1.1)
- sslshake (~> 1)
+ sslshake (~> 1.2)
thor (~> 0.19)
toml (~> 0.1)
train (>= 0.22.0, < 1.0)
ipaddress (0.8.3)
iso8601 (0.9.1)
- jmespath (1.3.1)
- json (2.0.3)
- kitchen-docker (2.6.0)
- test-kitchen (>= 1.0.0)
- kitchen-ec2 (1.3.2)
- aws-sdk (~> 2)
- excon
- multi_json
- retryable (~> 2.0)
- test-kitchen (~> 1.4, >= 1.4.1)
- kitchen-sync (2.1.2)
- net-sftp
- test-kitchen (>= 1.0.0)
- kitchen-vagrant (1.1.0)
- test-kitchen (~> 1.4)
- knife-windows (1.9.0)
- winrm (~> 2.1)
- winrm-elevated (~> 1.0)
+ json (2.1.0)
launchy (2.4.3)
addressable (~> 2.3)
libyajl2 (1.2.0)
little-plugger (1.1.4)
- logging (2.2.0)
+ logging (2.2.2)
little-plugger (~> 1.1)
multi_json (~> 1.10)
- logify (0.2.0)
method_source (0.8.2)
- mime-types (3.1)
- mime-types-data (~> 3.2015)
- mime-types-data (3.2016.0521)
- mini_portile2 (2.1.0)
minitest (5.10.1)
mixlib-archive (0.4.1)
mixlib-log
@@ -355,8 +216,7 @@ GEM
mixlib-log
mixlib-cli (1.7.0)
mixlib-config (2.2.4)
- mixlib-install (2.1.12)
- artifactory
+ mixlib-install (3.2.0)
mixlib-shellout
mixlib-versioning
thor
@@ -367,27 +227,21 @@ GEM
wmi-lite (~> 1.0)
mixlib-versioning (1.1.0)
multi_json (1.12.1)
- multi_test (0.1.2)
multipart-post (2.0.0)
net-http-persistent (2.9.4)
net-http-pipeline (1.0.1)
- net-http-spy (0.2.1)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
net-sftp (2.1.2)
net-ssh (>= 2.6.5)
net-ssh (4.1.0)
- net-ssh-gateway (1.3.0)
- net-ssh (>= 2.6.5)
+ net-ssh-gateway (2.0.0)
+ net-ssh (>= 4.0.0)
net-ssh-multi (1.2.1)
net-ssh (>= 2.6.5)
net-ssh-gateway (>= 1.2.0)
net-telnet (0.1.1)
netrc (0.11.0)
- nokogiri (1.7.1)
- mini_portile2 (~> 2.1.0)
- nokogiri (1.7.1-x86-mingw32)
- mini_portile2 (~> 2.1.0)
nori (2.6.0)
octokit (4.7.0)
sawyer (~> 0.8.0, >= 0.5.3)
@@ -409,9 +263,6 @@ GEM
parslet (1.5.0)
blankslate (~> 2.0)
plist (3.2.0)
- poise-profiler (1.0.1)
- halite (~> 1.0)
- polyglot (0.3.5)
powerpack (0.1.1)
proxifier (1.0.3)
pry (0.10.4)
@@ -431,20 +282,11 @@ GEM
json
websocket (~> 1.0)
rack (2.0.1)
- rainbow (2.2.1)
- rake (11.3.0)
+ rainbow (2.2.2)
+ rake
+ rake (12.0.0)
rb-readline (0.5.4)
- rest-client (2.0.1)
- http-cookie (>= 1.0.2, < 2.0)
- mime-types (>= 1.16, < 4.0)
- netrc (~> 0.8)
- rest-client (2.0.1-x86-mingw32)
- ffi (~> 1.9)
- http-cookie (>= 1.0.2, < 2.0)
- mime-types (>= 1.16, < 4.0)
- netrc (~> 0.8)
retriable (3.0.1)
- retryable (2.0.4)
rspec (3.5.0)
rspec-core (~> 3.5.0)
rspec-expectations (~> 3.5.0)
@@ -460,8 +302,6 @@ GEM
rspec-mocks (3.5.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.5.0)
- rspec-rerun (1.1.0)
- rspec (~> 3.0)
rspec-support (3.5.0)
rspec_junit_formatter (0.2.3)
builder (< 4)
@@ -475,10 +315,8 @@ GEM
ruby-prof (0.16.2)
ruby-progressbar (1.8.1)
ruby-shadow (2.5.0)
- rubyntlm (0.6.1)
+ rubyntlm (0.6.2)
rubyzip (1.2.1)
- rufus-lru (1.1.0)
- safe_yaml (1.0.4)
sawyer (0.8.1)
addressable (>= 2.3.5, < 2.6)
faraday (~> 0.8, < 1.0)
@@ -494,26 +332,15 @@ GEM
simplecov-html (~> 0.10.0)
simplecov-html (0.10.0)
slop (3.6.0)
- specinfra (2.67.7)
+ specinfra (2.67.8)
net-scp
net-ssh (>= 2.7, < 5.0)
net-telnet
sfl
- sslshake (1.1.0)
- stove (5.1.0)
- chef-api (~> 0.5)
- logify (~> 0.2)
+ sslshake (1.2.0)
syslog-logger (1.6.8)
systemu (2.6.5)
- test-kitchen (1.16.0)
- mixlib-install (>= 1.2, < 3.0)
- mixlib-shellout (>= 1.2, < 3.0)
- net-scp (~> 1.1)
- net-ssh (>= 2.9, < 5.0)
- net-ssh-gateway (~> 1.2)
- safe_yaml (~> 1.0)
- thor (~> 0.19, < 0.19.2)
- thor (0.19.1)
+ thor (0.19.4)
thread_safe (0.3.6)
toml (0.1.2)
parslet (~> 1.5.0)
@@ -535,20 +362,12 @@ GEM
launchy (~> 2.1)
pusher-client (~> 0.4)
typhoeus (~> 0.6, >= 0.6.8)
- treetop (1.6.8)
- polyglot (~> 0.3)
typhoeus (0.8.0)
ethon (>= 0.8.0)
tzinfo (1.2.3)
thread_safe (~> 0.1)
- unf (0.1.4)
- unf_ext
- unf_ext (0.0.7.2)
- unf_ext (0.0.7.2-x86-mingw32)
- unicode-display_width (1.1.3)
- url (0.3.2)
+ unicode-display_width (1.2.1)
uuidtools (2.1.5)
- vagrant-wrapper (2.0.3)
websocket (1.2.4)
win32-api (1.5.3-universal-mingw32)
win32-dir (0.5.1)
@@ -570,7 +389,7 @@ GEM
ffi-win32-extensions
windows-api (0.4.4)
win32-api (>= 1.4.5)
- winrm (2.2.1)
+ winrm (2.2.2)
builder (>= 2.1.2)
erubis (~> 2.7)
gssapi (~> 1.2)
@@ -579,22 +398,17 @@ GEM
logging (>= 1.6.1, < 3.0)
nori (~> 2.0)
rubyntlm (~> 0.6.0, >= 0.6.1)
- winrm-elevated (1.1.0)
- winrm (~> 2.0)
- winrm-fs (~> 1.0)
winrm-fs (1.0.1)
erubis (~> 2.7)
logging (>= 1.6.1, < 3.0)
rubyzip (~> 1.1)
winrm (~> 2.0)
wmi-lite (1.0.0)
- yajl-ruby (1.3.0)
- yard (0.9.8)
- yard-classmethods (1.0.0)
- yard
+ yard (0.9.9)
PLATFORMS
ruby
+ x64-mingw32
x86-mingw32
DEPENDENCIES
@@ -603,23 +417,14 @@ DEPENDENCIES
bundler-audit!
chef!
chef-config!
- chef-sugar
cheffish (~> 13)
- chefspec
chefstyle!
- cucumber (>= 2.4.0)
- foodcritic
github_changelog_generator!
- halite!
inspec
- knife-windows
mixlib-install
netrc
- oc-chef-pedant!
octokit
ohai (~> 13)
- poise!
- poise-boiler!
pry
pry-byebug
pry-remote
diff --git a/appveyor.yml b/appveyor.yml
index c4d7dfcffc..0ec136a574 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -27,14 +27,14 @@ install:
- ps: $env:OMNIBUS_BUNDLER=$(findstr bundler omnibus_overrides.rb | %{ $_.split(" ")[3] })
- echo %OMNIBUS_BUNDLER%
- ruby --version
+ - gem --version
+ - bundler --version
- gem uninstall bundler -a -x
- gem update --system %OMNIBUS_RUBYGEMS% || gem update --system %OMNIBUS_RUBYGEMS% || gem update --system %OMNIBUS_RUBYGEMS%
- gem install bundler -v %OMNIBUS_BUNDLER% --quiet --no-ri --no-rdoc || gem install bundler -v %OMNIBUS_BUNDLER% --quiet --no-ri --no-rdoc || gem install bundler -v %OMNIBUS_BUNDLER% --quiet --no-ri --no-rdoc
- gem --version
- bundler --version
- - SET BUNDLE_IGNORE_CONFIG=true
- - SET BUNDLE_FROZEN=1
- - SET BUNDLE_WITHOUT=development:guard:maintenance:tools:integration:ci:docgen:travis:style:omnibus_package:aix:bsd:linux:mac_os_x:solaris
+ - SET BUNDLE_WITHOUT=guard:maintenance:tools:integration:ci:docgen:travis:style:omnibus_package:aix:bsd:linux:mac_os_x:solaris
- appveyor DownloadFile http://curl.haxx.se/ca/cacert.pem -FileName C:\cacert.pem
- set SSL_CERT_FILE=C:\cacert.pem
diff --git a/chef-config/spec/unit/fips_spec.rb b/chef-config/spec/unit/fips_spec.rb
index cf5af22ef1..d53096cead 100644
--- a/chef-config/spec/unit/fips_spec.rb
+++ b/chef-config/spec/unit/fips_spec.rb
@@ -1,6 +1,6 @@
#
# Author:: Matt Wrock (<matt@mattwrock.com>)
-# Copyright:: Copyright (c) 2016 Chef Software, Inc.
+# Copyright:: Copyright (c) 2016-2017, Chef Software Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -19,6 +19,12 @@
require "chef-config/fips"
require "spec_helper"
+begin
+ require "win32/registry"
+rescue LoadError
+ # not on unix
+end
+
RSpec.describe "ChefConfig.fips?" do
let(:enabled) { "0" }
diff --git a/omnibus_overrides.rb b/omnibus_overrides.rb
index 0409c2a1bc..69617a4eac 100644
--- a/omnibus_overrides.rb
+++ b/omnibus_overrides.rb
@@ -1,6 +1,6 @@
# DO NOT EDIT. Generated by "rake dependencies". Edit version_policy.rb instead.
override :rubygems, version: "2.6.11"
-override :bundler, version: "1.12.5"
+override :bundler, version: "1.14.6"
override "libffi", version: "3.2.1"
override "libiconv", version: "1.14"
override "liblzma", version: "5.2.3"
diff --git a/tasks/bin/run_external_test b/tasks/bin/run_external_test
index 74f76d3229..1925c3e125 100755
--- a/tasks/bin/run_external_test
+++ b/tasks/bin/run_external_test
@@ -1,47 +1,25 @@
-#!/bin/bash
+#!/usr/bin/env ruby
-# Fail fast (e) and echo commands (vx)
-set -evx
+$:.unshift(File.expand_path("../../lib", File.dirname(__FILE__)))
-# Arguments
-TEST_GEM=$1
-shift
+require "tmpdir"
+require "bundler"
+require "chef/mixin/shell_out"
-PROJECT_ROOT=$(pwd)
-PROJECT_BUNDLE_PATH=${BUNDLE_PATH:-$(grep BUNDLE_PATH: $PROJECT_ROOT/.bundle/config | cut -d' ' -f2-)}
-if [ -n "$PROJECT_BUNDLE_PATH" ]; then
- PROJECT_BUNDLE_PATH=$PROJECT_ROOT/$PROJECT_BUNDLE_PATH
-fi
+include Chef::Mixin::ShellOut
-TEST_GEM_ROOT=$(bundle show $TEST_GEM)
+github_repo = ARGV.shift
+git_thing = ARGV.shift
-# Make a copy of the original Gemfile and stitch in our Gemfile.lock
-TEST_GEMFILE=$TEST_GEM_ROOT/Gemfile
-MODIFIED_TEST_GEMFILE=$TEST_GEMFILE.externaltest
-cat <<EOM > $MODIFIED_TEST_GEMFILE
-require_relative "$PROJECT_ROOT/tasks/gemfile_util"
-GemfileUtil.include_locked_gemfile(self, "$PROJECT_ROOT/Gemfile", gems: ["$TEST_GEM"] + "$TEST_WITH_GEMS".split(/\s+/))
-$TEST_GEM_OVERRIDES
-EOM
-cat $TEST_GEMFILE >> $MODIFIED_TEST_GEMFILE
-if [ -f $TEST_GEMFILE.lock ]; then
- cp $TEST_GEMFILE.lock $MODIFIED_TEST_GEMFILE.lock
-elif [ -f $MODIFIED_TEST_GEMFILE.lock ]; then
- rm -f $MODIFIED_TEST_GEMFILE.lock
-fi
-
-# Run the bundle install
-cd $TEST_GEM_ROOT
-export BUNDLE_GEMFILE=$MODIFIED_TEST_GEMFILE
-# Don't read from the project .bundle/config, just our env vars
-export BUNDLE_IGNORE_CONFIG=true
-# Use the top level bundle cache so we don't have to reinstall their packages
-if [ -n "$PROJECT_BUNDLE_PATH" ]; then
- export BUNDLE_PATH=$PROJECT_BUNDLE_PATH
-fi
-export BUNDLE_FROZEN=
-bundle install
-export BUNDLE_FROZEN=true
-
-bundle config
-bundle exec $@
+Dir.mktmpdir("chef-external-test") do |dir|
+ git_url = "https://github.com/#{github_repo}"
+ Dir.rmdir dir
+ shell_out!("git clone #{git_url} #{dir}", live_stream: STDOUT)
+ Dir.chdir(dir) do
+ shell_out!("git checkout #{git_thing}", live_stream: STDOUT)
+ Bundler.with_clean_env do
+ shell_out!("bundle install", live_stream: STDOUT)
+ shell_out!("bundle exec #{ARGV.join(" ")}", live_stream: STDOUT)
+ end
+ end
+end
diff --git a/tasks/bundle.rb b/tasks/bundle.rb
index 0e9b207932..db1bbde4b2 100644
--- a/tasks/bundle.rb
+++ b/tasks/bundle.rb
@@ -24,9 +24,7 @@ namespace :bundle do
task :update, [:args] do |t, rake_args|
args = rake_args[:args] || ""
Bundler.with_clean_env do
- sh "bundle config --local frozen '0'"
sh "bundle update #{args}"
- sh "bundle config --local frozen '1'"
end
end
@@ -35,9 +33,7 @@ namespace :bundle do
args = rake_args[:args] || ""
args = rake_args[:args] || ""
Bundler.with_clean_env do
- sh "bundle config --local frozen '0'"
sh "bundle install #{args}"
- sh "bundle config --local frozen '1'"
end
end
@@ -57,10 +53,8 @@ namespace :bundle do
task :outdated do
bundle_outdated = ""
Bundler.with_clean_env do
- sh "bundle config --local frozen '0'"
bundle_outdated = `bundle outdated`
puts bundle_outdated
- sh "bundle config --local frozen '1'"
end
outdated_gems = parse_bundle_outdated(bundle_outdated).map { |line, gem_name| gem_name }
outdated_gems = outdated_gems.reject { |gem_name| ACCEPTABLE_OUTDATED_GEMS.include?(gem_name) }
@@ -74,8 +68,6 @@ desc "Run bundle with arbitrary args"
task :bundle, [:args] do |t, rake_args|
args = rake_args[:args] || ""
Bundler.with_clean_env do
- sh "bundle config --local frozen '0'"
sh "bundle #{args}"
- sh "bundle config --local frozen '1'"
end
end
diff --git a/tasks/dependencies.rb b/tasks/dependencies.rb
index 2118644b12..e6e11c0235 100644
--- a/tasks/dependencies.rb
+++ b/tasks/dependencies.rb
@@ -51,10 +51,10 @@ namespace :dependencies do
task task_name do
Dir.chdir(dir) do
Bundler.with_clean_env do
- sh "bundle config --local frozen '0'"
+ rm_f "#{dir}/Gemfile.lock"
sh "bundle lock --update --add-platform ruby"
+ sh "bundle lock --update --add-platform x64-mingw32"
sh "bundle lock --update --add-platform x86-mingw32"
- sh "bundle config --local frozen '1'"
end
end
end
diff --git a/version_policy.rb b/version_policy.rb
index 39bc81f2fa..6552d51305 100644
--- a/version_policy.rb
+++ b/version_policy.rb
@@ -20,7 +20,7 @@ OMNIBUS_OVERRIDES = {
# Lower level library pins
## according to comment in omnibus-sw, latest versions don't work on solaris
# https://github.com/chef/omnibus-software/blob/aefb7e79d29ca746c3f843673ef5e317fa3cba54/config/software/libtool.rb#L23
- :bundler => "1.12.5", # until we figure out how to work with 1.13.0
+ :bundler => "1.14.6",
"libffi" => "3.2.1",
"libiconv" => "1.14",
"liblzma" => "5.2.2",