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-13 - chef-12 env: global: - FORCE_FFI_YAJL=ext matrix: include: - env: INTEGRATION_SPECS_24: 1 rvm: 2.4.3 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.0 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.3 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.0 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.3 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.0 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.0 script: bundle exec rake style # also remove integration / external tests bundler_args: --without ci docgen guard integration maintenance omnibus_package --frozen - env: AUDIT_CHECK: 1 rvm: 2.5.0 script: bundle exec bundle-audit check --update # 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.0 - env: PEDANT_OPTS: --skip-oc_id TEST_GEM: chef/chef-zero script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec cheffs rvm: 2.5.0 - env: TEST_GEM: chef/cheffish script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec rvm: 2.5.0 - env: TEST_GEM: chefspec/chefspec script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake rvm: 2.5.0 - env: TEST_GEM: foodcritic/foodcritic script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake test rvm: 2.5.0 - env: TEST_GEM: poise/halite script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec rvm: 2.5.0 - env: TEST_GEM: chef/knife-windows script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake unit_spec rvm: 2.5.0 - env: TEST_GEM: poise/poise script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake spec rvm: 2.5.0 - env: TEST_GEM: chef/knife-windows script: bundle exec tasks/bin/run_external_test $TEST_GEM master rake unit_spec rvm: 2.5.0 ### START TEST KITCHEN ONLY ### # - rvm: 2.4.3 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 base-amazonlinux after_failure: - cat .kitchen/logs/kitchen.log env: - AMAZON=LATEST - KITCHEN_YAML=.kitchen.travis.yml - rvm: 2.4.3 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 base-ubuntu-1404 after_failure: - cat .kitchen/logs/kitchen.log env: - UBUNTU=14.04 - KITCHEN_YAML=.kitchen.travis.yml - rvm: 2.4.3 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 base-ubuntu-1604 after_failure: - cat .kitchen/logs/kitchen.log env: - UBUNTU=16.04 - KITCHEN_YAML=.kitchen.travis.yml - rvm: 2.4.3 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 base-ubuntu-1804 after_failure: - cat .kitchen/logs/kitchen.log env: - UBUNTU=18.04 - KITCHEN_YAML=.kitchen.travis.yml - rvm: 2.4.3 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 base-debian-8 after_failure: - cat .kitchen/logs/kitchen.log env: - DEBIAN=8 - KITCHEN_YAML=.kitchen.travis.yml - rvm: 2.4.3 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 base-debian-9 after_failure: - cat .kitchen/logs/kitchen.log env: - DEBIAN=9 - KITCHEN_YAML=.kitchen.travis.yml - rvm: 2.4.3 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 base-centos-6 after_failure: - cat .kitchen/logs/kitchen.log env: - CENTOS=6 - KITCHEN_YAML=.kitchen.travis.yml - rvm: 2.4.3 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 base-centos-7 after_failure: - cat .kitchen/logs/kitchen.log env: - CENTOS=7 - KITCHEN_YAML=.kitchen.travis.yml - rvm: 2.4.3 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 base-fedora-latest after_failure: - cat .kitchen/logs/kitchen.log env: - FEDORA=latest - KITCHEN_YAML=.kitchen.travis.yml - rvm: 2.4.3 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 base-opensuse-leap after_failure: - cat .kitchen/logs/kitchen.log env: - OPENSUSELEAP=42 - KITCHEN_YAML=.kitchen.travis.yml # - rvm: 2.4.3 # 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 awesome-customers-ubuntu-ubuntu-1404 # after_failure: # - cat .kitchen/logs/kitchen.log # env: # - AWESOME_CUSTOMERS_UBUNTU=1 # - KITCHEN_YAML=.kitchen.travis.yml # - rvm: 2.4.3 # 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 awesome-customers-rhel-centos-7 # after_failure: # - cat .kitchen/logs/kitchen.log # env: # - AWESOME_CUSTOMERS_RHEL=1 # - KITCHEN_YAML=.kitchen.travis.yml # ### END TEST KITCHEN ONLY ### - rvm: 2.5.0 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 notifications: on_change: true on_failure: true on_success: change on_pull_requests: false