---
-branches:
- only:
- - master
+dist: xenial
language: ruby
-bundler_args: --without development
-script: bundle exec rake spec SPEC_OPTS='--format documentation'
-after_success:
- - git clone -q git://github.com/puppetlabs/ghpublisher.git .forge-release
- - .forge-release/publish
+cache: bundler
+before_install:
+ - bundle -v
+ - rm -f Gemfile.lock
+ - "# Update system gems if requested. This is useful to temporarily workaround troubles in the test runner"
+ - "# See https://github.com/puppetlabs/pdk-templates/commit/705154d5c437796b821691b707156e1b056d244f for an example of how this was used"
+ - "# Ignore exit code of SIGPIPE'd yes to not fail with shell's pipefail set"
+ - '[ -z "$RUBYGEMS_VERSION" ] || (yes || true) | gem update --system $RUBYGEMS_VERSION'
+ - gem --version
+ - bundle -v
+script:
+ - 'SIMPLECOV=yes bundle exec rake $CHECK'
+bundler_args: --without system_tests
rvm:
- - 1.8.7
- - 1.9.3
- - 2.0.0
+ - 2.5.3
env:
- matrix:
- - PUPPET_GEM_VERSION="~> 2.7.0"
- - PUPPET_GEM_VERSION="~> 3.1.0"
- - PUPPET_GEM_VERSION="~> 3.2.0"
- - PUPPET_GEM_VERSION="~> 3.3.0"
- - PUPPET_GEM_VERSION="~> 3.4.0"
global:
- - PUBLISHER_LOGIN=puppetlabs
- - secure: |-
- ipB/CV1rVSTXU9ZDuzrFOlzJrRmJob36tKns2xszuH4r9s5P9qivNAngRGdV
- msb69xvOlzQykM0WRF+4kJ6TZ7AbMiDI+VZ8GDtsRaU5/q3BpsvFe8aato+6
- QeyFtBG62OsosTEhGws4mqiFsPDu3dHlakuJc9zevlTuhNwbKSs=
+ - HONEYCOMB_WRITEKEY="7f3c63a70eecc61d635917de46bea4e6",HONEYCOMB_DATASET="litmus tests"
+stages:
+ - static
+ - spec
+ - acceptance
matrix:
fast_finish: true
- exclude:
- - rvm: 1.9.3
- env: PUPPET_GEM_VERSION="~> 2.7.0"
- - rvm: 2.0.0
- env: PUPPET_GEM_VERSION="~> 2.7.0"
- - rvm: 2.0.0
- env: PUPPET_GEM_VERSION="~> 3.1.0"
+ include:
+ -
+ env: CHECK="check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop syntax lint metadata_lint"
+ stage: static
+ -
+ env: PUPPET_GEM_VERSION="~> 5.0" CHECK=parallel_spec
+ rvm: 2.4.5
+ stage: spec
+ -
+ env: PUPPET_GEM_VERSION="~> 6.0" CHECK=parallel_spec
+ rvm: 2.5.3
+ stage: spec
+ -
+ before_script: ["bundle exec rake 'litmus:provision_list[travis_deb]'", "bundle exec bolt command run 'apt-get install wget -y' --inventoryfile inventory.yaml --nodes='localhost*'", "bundle exec rake 'litmus:install_agent[puppet5]'", "bundle exec rake litmus:install_module"]
+ bundler_args:
+ dist: trusty
+ env: PLATFORMS=deb_puppet5
+ rvm: 2.5.3
+ script: ["bundle exec rake litmus:acceptance:parallel"]
+ services: docker
+ stage: acceptance
+ sudo: required
+ -
+ before_script: ["bundle exec rake 'litmus:provision_list[travis_deb]'", "bundle exec bolt command run 'apt-get install wget -y' --inventoryfile inventory.yaml --nodes='localhost*'", "bundle exec rake 'litmus:install_agent[puppet6]'", "bundle exec rake litmus:install_module"]
+ bundler_args:
+ dist: trusty
+ env: PLATFORM=deb_puppet6
+ rvm: 2.5.3
+ script: ["bundle exec rake litmus:acceptance:parallel"]
+ services: docker
+ stage: acceptance
+ sudo: required
+ -
+ before_script: ["bundle exec rake 'litmus:provision_list[travis_ub]'", "bundle exec bolt command run 'apt-get install wget -y' --inventoryfile inventory.yaml --nodes='localhost*'", "bundle exec rake 'litmus:install_agent[puppet5]'", "bundle exec rake litmus:install_module"]
+ bundler_args:
+ dist: trusty
+ env: PLATFORMS=ub_puppet5
+ rvm: 2.5.3
+ script: ["bundle exec rake litmus:acceptance:parallel"]
+ services: docker
+ stage: acceptance
+ sudo: required
+ -
+ before_script: ["bundle exec rake 'litmus:provision_list[travis_ub]'", "bundle exec bolt command run 'apt-get install wget -y' --inventoryfile inventory.yaml --nodes='localhost*'", "bundle exec rake 'litmus:install_agent[puppet6]'", "bundle exec rake litmus:install_module"]
+ bundler_args:
+ dist: trusty
+ env: PLATFORM=ub_puppet6
+ rvm: 2.5.3
+ script: ["bundle exec rake litmus:acceptance:parallel"]
+ services: docker
+ stage: acceptance
+ sudo: required
+branches:
+ only:
+ - master
+ - /^v\d/
+ - release
notifications:
email: false
+ slack:
+ secure: KeXxAkZ1x/P1otYM3pgpEFnJdFRLDDz0YlTmDRwdNYy09LGo4lRUuUUEUUZoTe4oQaMb3+NigiAs+3j2A7OIMKlcUFWz5zetqnyMdIceJm99iJOD6Ng/kVblo38bN28oVwss66XzG1T0c0+YFMF+X0NkUezbr6RaJrZNsCNTH9M=