diff options
-rw-r--r-- | .bundle/config | 2 | ||||
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | .travis.yml | 92 | ||||
-rw-r--r-- | Gemfile | 26 | ||||
-rw-r--r-- | Gemfile.lock | 239 | ||||
-rw-r--r-- | appveyor.yml | 6 | ||||
-rw-r--r-- | chef-config/spec/unit/fips_spec.rb | 8 | ||||
-rw-r--r-- | omnibus_overrides.rb | 2 | ||||
-rwxr-xr-x | tasks/bin/run_external_test | 62 | ||||
-rw-r--r-- | tasks/bundle.rb | 8 | ||||
-rw-r--r-- | tasks/dependencies.rb | 4 | ||||
-rw-r--r-- | version_policy.rb | 2 |
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 @@ -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", |