Skip to content

Instantly share code, notes, and snippets.

@Iristyle
Last active March 24, 2018 01:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Iristyle/154ba00d4c9e96027a645ac7f50df78b to your computer and use it in GitHub Desktop.
Save Iristyle/154ba00d4c9e96027a645ac7f50df78b to your computer and use it in GitHub Desktop.
Fun times with Bundler + AppVeyor!

While documenting Bundler behavior to make the chart at https://gist.github.com/Iristyle/8a2214a6dd5aa709ba2a1abd32b4eacd, an interesting scenario was uncovered.

The following diff is a result of running the same code a day apart in AppVeyor. All dependencies downloaded / installed are exactly the same, except:

The pull request testing this behavior is at puppetlabs/puppetlabs-scheduled_task#23

--- /Users/Iristyle/Downloads/log (4).txt
+++ /Users/Iristyle/Downloads/log (3).txt
@@ -1,4 +1,4 @@
-TODAY 2.4 x64
+YESTERDAY 2.4 x64
Build started
SET
@@ -10,23 +10,23 @@
APPVEYOR_API_URL=http://localhost:1034/
APPVEYOR_BUILD_AGENT_HYPERV_NIC_CONFIGURED=true
APPVEYOR_BUILD_FOLDER=C:\projects\puppetlabs-scheduled-task
-APPVEYOR_BUILD_ID=14743386
-APPVEYOR_BUILD_NUMBER=150
-APPVEYOR_BUILD_VERSION=1.1.x.150
+APPVEYOR_BUILD_ID=14736389
+APPVEYOR_BUILD_NUMBER=143
+APPVEYOR_BUILD_VERSION=1.1.x.143
APPVEYOR_BUILD_WORKER_IMAGE=Visual Studio 2015
-APPVEYOR_JOB_ID=posetp03ctx267a5
+APPVEYOR_JOB_ID=pfae70sfa1kdv8cg
APPVEYOR_JOB_NAME=Environment: PUPPET_GEM_VERSION=~> 5.0, RUBY_VER=24-x64
APPVEYOR_JOB_NUMBER=4
APPVEYOR_PROJECT_ID=391866
APPVEYOR_PROJECT_NAME=puppetlabs-scheduled_task
APPVEYOR_PROJECT_SLUG=puppetlabs-scheduled-task
-APPVEYOR_PULL_REQUEST_HEAD_COMMIT=a21a21dd6be5b25f3f8f4f6fbc3c7ac89840d5ff
+APPVEYOR_PULL_REQUEST_HEAD_COMMIT=5c88a69ec9f036d652320f8640a14f738d14d061
APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH=json-dep-test-for-PDK
APPVEYOR_PULL_REQUEST_HEAD_REPO_NAME=Iristyle/puppetlabs-scheduled_task
APPVEYOR_PULL_REQUEST_NUMBER=23
APPVEYOR_PULL_REQUEST_TITLE=Test explicit json dep on 2.4
APPVEYOR_REPO_BRANCH=master
-APPVEYOR_REPO_COMMIT=f011d8a6ae782317cae790494d5e03b57fe55c3a
+APPVEYOR_REPO_COMMIT=0a203bea3249698c0995515f7016ab42615cc049
APPVEYOR_REPO_COMMIT_AUTHOR=Iristyle
APPVEYOR_REPO_COMMIT_AUTHOR_EMAIL=Iristyle@github
APPVEYOR_REPO_COMMIT_MESSAGE=Remove JSON version req
@@ -124,7 +124,7 @@
The dependency puppet-module-posix-dev-r2.4 (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for x64-mingw32 but the dependency is only for ruby. To add those platforms to the bundle, run `bundle lock --add-platform ruby`.
The dependency puppet-module-posix-system-r2.4 (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for x64-mingw32 but the dependency is only for ruby. To add those platforms to the bundle, run `bundle lock --add-platform ruby`.
Fetching gem metadata from https://rubygems.org/.........
-Resolving dependencies...............................
+Resolving dependencies................................................
Fetching ast 2.4.0
Using bundler 1.16.1
Fetching rake 12.3.1
@@ -139,96 +139,98 @@
Fetching fast_gettext 1.1.2
Installing fast_gettext 1.1.2
Fetching hiera 3.4.2
+Installing ffi 1.9.18 (x64-mingw32)
Installing hiera 3.4.2
-Installing ffi 1.9.18 (x64-mingw32)
+Installing unf_ext 0.0.7.5 (x64-mingw32)
+Fetching json 1.8.6
+Installing json 1.8.6 with native extensions
Fetching locale 2.1.2
Installing locale 2.1.2
Fetching metaclass 0.0.4
Installing metaclass 0.0.4
-Installing unf_ext 0.0.7.5 (x64-mingw32)
Fetching method_source 0.9.0
Installing method_source 0.9.0
Fetching mime-types 2.99.3
+Fetching minitar 0.6.1
Installing mime-types 2.99.3
-Fetching minitar 0.6.1
Installing minitar 0.6.1
Fetching multi_json 1.13.1
+Fetching net-ssh 4.2.0
Installing multi_json 1.13.1
-Fetching net-ssh 4.2.0
Installing net-ssh 4.2.0
Using net-telnet 0.1.1
Fetching netrc 0.11.0
+Installing netrc 0.11.0
Fetching parallel 1.12.1
Installing parallel 1.12.1
-Installing netrc 0.11.0
Fetching powerpack 0.1.1
+Fetching puppet-lint 2.3.3
Installing powerpack 0.1.1
-Fetching puppet-lint 2.3.3
Installing puppet-lint 2.3.3
Fetching puppet_facts 0.2.1
+Installing puppet_facts 0.2.1
Fetching rspec-support 3.7.1
-Installing puppet_facts 0.2.1
Installing rspec-support 3.7.1
Fetching rainbow 2.1.0
+Installing rainbow 2.1.0
Fetching ruby-progressbar 1.9.0
-Installing rainbow 2.1.0
Installing ruby-progressbar 1.9.0
Fetching unicode-display_width 1.3.0
Installing unicode-display_width 1.3.0
Fetching sfl 2.3
+Installing sfl 2.3
Fetching parser 2.5.0.4
Fetching puppet-syntax 2.4.1
-Installing sfl 2.3
Installing puppet-syntax 2.4.1
-Fetching mocha 1.1.0
Installing parser 2.5.0.4
-Installing mocha 1.1.0
-Fetching pry 0.11.3
-Installing pry 0.11.3
Fetching unf 0.1.4
Installing unf 0.1.4
+Fetching mocha 1.1.0
Fetching facter 2.5.1 (x64-mingw32)
+Installing mocha 1.1.0
+Installing facter 2.5.1 (x64-mingw32)
Fetching win32-dir 0.4.9
+Installing win32-dir 0.4.9
Fetching win32-process 0.7.5
-Installing win32-dir 0.4.9
Installing win32-process 0.7.5
-Installing facter 2.5.1 (x64-mingw32)
Fetching win32-security 0.2.5
+Installing win32-security 0.2.5
Fetching win32-service 0.8.8
-Installing win32-security 0.2.5
+Fetching win32-eventlog 0.6.5
Installing win32-service 0.8.8
-Fetching win32-eventlog 0.6.5
+Fetching pry 0.11.3
+Installing win32-eventlog 0.6.5
+Fetching net-scp 1.2.1
+Installing pry 0.11.3
+Installing net-scp 1.2.1
Fetching parallel_tests 2.21.3
-Installing win32-eventlog 0.6.5
Installing parallel_tests 2.21.3
-Fetching net-scp 1.2.1
-Installing net-scp 1.2.1
Fetching rspec-core 3.7.1
+Fetching rspec-expectations 3.7.0
Installing rspec-core 3.7.1
-Fetching rspec-expectations 3.7.0
Installing rspec-expectations 3.7.0
Fetching rspec-mocks 3.7.0
+Fetching domain_name 0.5.20170404
Installing rspec-mocks 3.7.0
+Installing domain_name 0.5.20170404
Fetching rubocop 0.49.1
+Fetching puppet 5.5.0 (x64-mingw32)
Installing rubocop 0.49.1
-Fetching domain_name 0.5.20170404
-Installing domain_name 0.5.20170404
+Installing puppet 5.5.0 (x64-mingw32)
Fetching puppet-module-win-default-r2.4 0.3.0
+Installing puppet-module-win-default-r2.4 0.3.0
Fetching specinfra 2.67.3
-Installing puppet-module-win-default-r2.4 0.3.0
+Installing specinfra 2.67.3
Fetching rspec_junit_formatter 0.3.0
-Installing specinfra 2.67.3
Installing rspec_junit_formatter 0.3.0
Fetching rspec 3.7.0
Installing rspec 3.7.0
-Fetching puppet 5.5.0 (x64-mingw32)
-Installing puppet 5.5.0 (x64-mingw32)
Fetching http-cookie 1.0.3
Installing http-cookie 1.0.3
+Fetching rubocop-rspec 1.16.0
+Installing rubocop-rspec 1.16.0
Fetching rspec-puppet 2.6.11
Installing rspec-puppet 2.6.11
-Fetching rubocop-rspec 1.16.0
-Installing rubocop-rspec 1.16.0
Fetching rest-client 1.8.0 (x64-mingw32)
Installing rest-client 1.8.0 (x64-mingw32)
Fetching puppetlabs_spec_helper 2.6.2
@@ -237,7 +239,7 @@
Installing puppet-blacksmith 3.4.0
Fetching puppet-module-win-dev-r2.4 0.0.7
Installing puppet-module-win-dev-r2.4 0.0.7
-Bundle complete! 16 Gemfile dependencies, 57 gems now installed.
+Bundle complete! 17 Gemfile dependencies, 58 gems now installed.
Gems in the group system_tests were not installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from minitar:
@@ -593,6 +595,7 @@
beaker-rspec
beaker-testmode_switcher (<= 0.2.0)
fast_gettext
+ json
master_manipulator
puppet (~> 5.0)
puppet-blacksmith (~> 3.4)
@@ -611,12 +614,11 @@
bundle exec ruby -e 'require \"json\"; puts \"bundled json version: #{JSON::VERSION}\"'
gem list
bundle exec gem list
-bundle show json
5.5.0
ruby 2.4.3p205 (2017-12-14 revision 61247) [x64-mingw32]
system json version: 2.0.4
-bundled json version: 2.0.4
+bundled json version: 1.8.6
ast (2.4.0)
bigdecimal (default: 1.3.0)
bundler (1.16.1, default: 1.16.0)
@@ -630,7 +632,7 @@
hiera (3.4.2)
http-cookie (1.0.3)
io-console (default: 0.4.6)
-json (default: 2.0.4)
+json (default: 2.0.4, 1.8.6)
locale (2.1.2)
metaclass (0.0.4)
method_source (0.9.0)
@@ -696,6 +698,7 @@
ffi (1.9.18 x64-mingw32)
hiera (3.4.2)
http-cookie (1.0.3)
+json (1.8.6)
locale (2.1.2)
metaclass (0.0.4)
method_source (0.9.0)
@@ -743,9 +746,8 @@
win32-process (0.7.5)
win32-security (0.2.5)
win32-service (0.8.8)
-C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/multi_json-1.13.1
bundle exec rake spec SPEC_OPTS='--format documentation'
-I, [2018-03-23T22:39:14.430487 #648] INFO -- : Creating symlink from spec/fixtures/modules/task to C:\projects\puppetlabs-scheduled-task
+I, [2018-03-23T17:20:17.338698 #1440] INFO -- : Creating symlink from spec/fixtures/modules/task to C:\projects\puppetlabs-scheduled-task
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puppet-5.5.0-x64-mingw32/lib/puppet/util/windows/taskscheduler.rb:20: warning: already initialized constant RSpec::Puppet::Win32::TaskScheduler::TASK_TIME_TRIGGER_ONCE
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rspec-puppet-2.6.11/lib/rspec-puppet/monkey_patches/win32/taskscheduler.rb:7: warning: previous definition of TASK_TIME_TRIGGER_ONCE was here
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/puppet-5.5.0-x64-mingw32/lib/puppet/util/windows/taskscheduler.rb:21: warning: already initialized constant RSpec::Puppet::Win32::TaskScheduler::TASK_TIME_TRIGGER_DAILY
@@ -1564,7 +1566,7 @@
when setting the trigger
should delegate to the provider to validate the trigger
-Finished in 13.12 seconds (files took 1.97 seconds to load)
+Finished in 14.08 seconds (files took 2.67 seconds to load)
444 examples, 0 failures
C:/Ruby24-x64/bin/ruby.exe -I'C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rspec-core-3.7.1/lib';'C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rspec-support-3.7.1/lib' 'C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/rspec-core-3.7.1/exe/rspec' --pattern 'spec/{aliases,classes,defines,unit,functions,hosts,integration,type_aliases,types}/**/*_spec.rb' --color
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment