language: ruby cache: bundler dist: trusty # Early warning system to catch if Rubygems breaks something before_install: - gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2) - gem --version # travis may preinstall a bundler gem which is later than the one which we pin, which may totally hose us, so we preemtively # uninstall anything they may have installed here. if they haven't installed anything then we have to ignore the failure # to uninstall the default bundler that ships embedded in ruby itself. - rvm @global do gem uninstall bundler -a -x || true - gem install bundler -v $(grep :bundler omnibus_overrides.rb | cut -d'"' -f2) - bundle --version - rm -f .bundle/config before_script: # force all .rspec tests into progress display to reduce line count - echo --color > .rspec - echo -fp >> .rspec # necessary for sudo: true tests, ingore failures on tests invoked with sudo: false - sudo sed -i -e 's/^Defaults\tsecure_path.*$//' /etc/sudoers # do not run expensive spec tests on PRs, only on branches branches: only: - master - chef-14 - chef-13 env: global: - FORCE_FFI_YAJL=ext matrix: include: - env: INTEGRATION_SPECS_24: 1 rvm: 2.4.4 sudo: true script: sudo -E $(which bundle) exec rake spec:integration; bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen - env: INTEGRATION_SPECS_25: 1 rvm: 2.5.1 sudo: true script: sudo -E $(which bundle) exec rake spec:integration; bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen - env: FUNCTIONAL_SPECS_24: 1 rvm: 2.4.4 sudo: true script: sudo -E $(which bundle) exec rake spec:functional; bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen - env: FUNCTIONAL_SPECS_25: 1 rvm: 2.5.1 sudo: true script: sudo -E $(which bundle) exec rake spec:functional; bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen - env: UNIT_SPECS_24: 1 rvm: 2.4.4 sudo: true script: - sudo -E $(which bundle) exec rake spec:unit; - sudo -E $(which bundle) exec rake component_specs bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen - env: UNIT_SPECS_25: 1 rvm: 2.5.1 sudo: true script: - sudo -E $(which bundle) exec rake spec:unit; - sudo -E $(which bundle) exec rake component_specs bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen - env: CHEFSTYLE: 1 rvm: 2.5.1 script: bundle exec rake style # also remove integration / external tests bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen # # External tests # - env: TEST_GEM: sethvargo/chef-sugar script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake rvm: 2.5.1 - env: - PEDANT_OPTS=--skip-oc_id - TEST_GEM=chef/chef-zero - CHEF_FS=true script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake pedant rvm: 2.5.1 - env: TEST_GEM: chef/cheffish script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec rvm: 2.5.1 - env: TEST_GEM: chefspec/chefspec script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake rvm: 2.5.1 - env: TEST_GEM: poise/halite script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec rvm: 2.5.1 - env: TEST_GEM: chef/knife-windows script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake unit_spec rvm: 2.5.1 # disable this pending a Chef 14 compat version of poise # - env: # TEST_GEM: poise/poise # script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec # rvm: 2.5.1 ### START TEST KITCHEN ONLY ### - rvm: 2.4.4 services: docker sudo: required gemfile: kitchen-tests/Gemfile 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) before_script: - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER ) - cd kitchen-tests script: - bundle exec kitchen test end-to-end-amazonlinux-2 after_failure: - cat .kitchen/logs/kitchen.log env: - AMAZON=2 - KITCHEN_YAML=kitchen.travis.yml - rvm: 2.4.4 services: docker sudo: required gemfile: kitchen-tests/Gemfile 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) before_script: - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER ) - cd kitchen-tests script: - bundle exec kitchen test end-to-end-amazonlinux after_failure: - cat .kitchen/logs/kitchen.log env: - AMAZON=201X - KITCHEN_YAML=kitchen.travis.yml - rvm: 2.4.4 services: docker sudo: required gemfile: kitchen-tests/Gemfile 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) before_script: - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER ) - cd kitchen-tests script: - bundle exec kitchen test end-to-end-ubuntu-1404 after_failure: - cat .kitchen/logs/kitchen.log env: - UBUNTU=14.04 - KITCHEN_YAML=kitchen.travis.yml - rvm: 2.4.4 services: docker sudo: required gemfile: kitchen-tests/Gemfile 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) before_script: - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER ) - cd kitchen-tests script: - bundle exec kitchen test end-to-end-ubuntu-1604 after_failure: - cat .kitchen/logs/kitchen.log env: - UBUNTU=16.04 - KITCHEN_YAML=kitchen.travis.yml - rvm: 2.4.4 services: docker sudo: required gemfile: kitchen-tests/Gemfile 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) before_script: - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER ) - cd kitchen-tests script: - bundle exec kitchen test end-to-end-ubuntu-1804 after_failure: - cat .kitchen/logs/kitchen.log env: - UBUNTU=18.04 - KITCHEN_YAML=kitchen.travis.yml - rvm: 2.4.4 services: docker sudo: required gemfile: kitchen-tests/Gemfile 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) before_script: - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER ) - cd kitchen-tests script: - bundle exec kitchen test end-to-end-debian-8 after_failure: - cat .kitchen/logs/kitchen.log env: - DEBIAN=8 - KITCHEN_YAML=kitchen.travis.yml - rvm: 2.4.4 services: docker sudo: required gemfile: kitchen-tests/Gemfile 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) before_script: - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER ) - cd kitchen-tests script: - bundle exec kitchen test end-to-end-debian-9 after_failure: - cat .kitchen/logs/kitchen.log env: - DEBIAN=9 - KITCHEN_YAML=kitchen.travis.yml - rvm: 2.4.4 services: docker sudo: required gemfile: kitchen-tests/Gemfile 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) before_script: - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER ) - cd kitchen-tests script: - bundle exec kitchen test end-to-end-centos-6 after_failure: - cat .kitchen/logs/kitchen.log env: - CENTOS=6 - KITCHEN_YAML=kitchen.travis.yml - rvm: 2.4.4 services: docker sudo: required gemfile: kitchen-tests/Gemfile 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) before_script: - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER ) - cd kitchen-tests script: - bundle exec kitchen test end-to-end-centos-7 after_failure: - cat .kitchen/logs/kitchen.log env: - CENTOS=7 - KITCHEN_YAML=kitchen.travis.yml - rvm: 2.4.4 services: docker sudo: required gemfile: kitchen-tests/Gemfile 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) before_script: - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER ) - cd kitchen-tests script: - bundle exec kitchen test end-to-end-fedora-latest after_failure: - cat .kitchen/logs/kitchen.log env: - FEDORA=latest - KITCHEN_YAML=kitchen.travis.yml - rvm: 2.4.4 services: docker sudo: required gemfile: kitchen-tests/Gemfile 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) before_script: - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER ) - cd kitchen-tests script: - bundle exec kitchen test end-to-end-opensuse-leap after_failure: - cat .kitchen/logs/kitchen.log env: - OPENSUSELEAP=42 - KITCHEN_YAML=kitchen.travis.yml - rvm: 2.5.1 sudo: required before_install: - gem update --system $(grep rubygems omnibus_overrides.rb | cut -d'"' -f2) - rvm @global do gem uninstall bundler -a -x || true - gem install bundler -v $(grep :bundler omnibus_overrides.rb | cut -d'"' -f2) - sudo apt-get update - sudo apt-get -y install squid3 git curl env: - PROXY_TESTS_DIR=proxy_tests/files/default/scripts - PROXY_TESTS_REPO=$PROXY_TESTS_DIR/repo script: - bundle exec chef-client --version - git clone https://github.com/chef/proxy_tests.git - rvmsudo -E bundle exec bash $PROXY_TESTS_DIR/run_tests.sh chef_client \* \* /tmp/out.txt after_script: - cat /tmp/out.txt - sudo cat /var/log/squid3/cache.log - sudo cat /var/log/squid3/access.log # Use test-kitchen to launch a centos docker container to run the full rspec tests against. This catches # errors in travis, before PRs are merged, hopefully before they become errors in jenkins. - rvm: 2.4.4 services: docker sudo: required gemfile: kitchen-tests/Gemfile 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) before_script: - sudo iptables -L DOCKER || ( echo "DOCKER iptables chain missing" ; sudo iptables -N DOCKER ) - cd kitchen-tests script: - bundle exec kitchen test rspec-centos-7 after_failure: - cat .kitchen/logs/kitchen.log env: - RSPEC_CENTOS=7 - KITCHEN_YAML=kitchen.travis.yml notifications: on_change: true on_failure: true on_success: change on_pull_requests: false