Testing framework for Puppet-based projects
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Puppet (master) Tester

PT aims to frequently test Rubygem-based projects in the Puppet community with the latest versions of their dependencies from master using Travis CI.

Many Puppet module projects only test with the master branch of other modules, but not with Puppet itself or related tooling, such as rspec-puppet. By running module tests against the development versions of Puppet and other tools, we hope to find bugs in them before release.


Run master updates regularly (e.g. daily), which update the pt-master branch from the upstream master. This checks that the main branch continues to build and there's not an unrelated error in another dependency.

rake master_update

Run branch tests some time after master has been updated, to give pt-master time to be tested. This may be run more frequently as it'll only update branches when work is due.

rake branch_test


For each given project, PT follows this method:

  1. Pull upstream/master to puppet-testing/pt-master and push
  2. Wait for Travis CI result of merge commit to return
  3. If result fails, alert (likely a bug in master, in another module, or a released gem)
  4. Checkout pt-all, merge pt-master and push


  1. Fork upstream project to github.com/puppet-testing/project
  2. Enable issues on the fork
  3. Enable Travis CI
  4. Edit .travis.yml on pt-master to disable email/IRC notifications and branch restrictions
  5. Branch pt-master to pt-all, edit:
  6. Gemfile: add location_for helper, use on all PT-enabled projects
  7. .travis.yml: delete non-latest matrix entries (e.g. Puppet 3)


Copyright (c) 2017 Dominic Cleal. Made available under the MIT licence.