Puppet modules and git master branch

The events in this post happened 5+ months prior to the posting date. I have been a bit behind on things, but wanted to get this out there.

<rant>

Here I am minding my own business, testing my modules on Travis-CI and I start to get failures in the rspec tests.  I only updated the Geppetto .project file, how is my CI now failing?

https://travis-ci.org/razorsedge/puppet-vmwaretools/jobs/59738380

  1) vmwaretools on a supported osfamily, vmware platform, default parameters for osfamily Debian and operatingsystem Ubuntu should contain Class[vmwaretools::repo] with before => ["Package[vmware-tools-esx-nox]", "Package[vmware-tools-esx-kmods-3.8.0-29-generic]"]
     Failure/Error: )}
     Puppet::Error:
       Syntax error at '{'; expected '}' at /home/travis/build/razorsedge/puppet-vmwaretools/spec/fixtures/modules/apt/manifests/init.pp:18 on node testing-worker-linux-docker-1ea89b31-3400-linux-15.prod.travis-ci.org
     # ./spec/classes/vmwaretools_init_spec.rb:159

It turns out that puppetlabs/apt has a syntax error in init.pp.  But why am I testing against a non-released (to the Forge) version of the APT module? I won’t ask how a syntax error even got committed.

The same goes for puppetlabs/concat:

https://travis-ci.org/razorsedge/puppet-cloudera/jobs/59736971

  27) cloudera::cm5::server on a supported operatingsystem, custom parameters, db_type => postgresql with defaults should contain File[/etc/cloudera-scm-server/db.properties] with ensure => "present"
     Failure/Error: it { should contain_file('/etc/cloudera-scm-server/db.properties').with_ensure('present') }
     Puppet::Error:
       Puppet::Parser::AST::Resource failed with error ArgumentError: Invalid resource type file_concat at /home/travis/build/razorsedge/puppet-cloudera/spec/fixtures/modules/concat/manifests/init.pp:106 on node testing-worker-linux-docker-e5c6f7ca-3360-linux-7.prod.travis-ci.org
     # ./spec/classes/cloudera_cm5_server_spec.rb:313

It looks like puppetlabs/concat is switching to using a second module (electrical/file_concat). Now I have to update my .fixtures.yml (which is fine, I do want to know about dependency changes), but there isn’t a released version of puppetlabs/concat with electrical/file_concat yet.

TL;DR
All of the rspec testing in the world won’t help if dependencies are unstable.  Puppet module git repository master branch should at all times be the same as the code released to the Forge.

</rant>