--- expeditor: cached_folders: - vendor defaults: buildkite: retry: automatic: limit: 1 timeout_in_minutes: 45 steps: ######################################################################### # Tests Ruby 2.6 ######################################################################### - label: "Integration Specs Ubuntu :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - cd /workdir; bundle config set --local without omnibus_package docgen - cd /workdir; bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:integration expeditor: executor: docker: image: rubydistros/ubuntu-18.04:2.6 privileged: true - label: "Functional Specs Ubuntu :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - apt-get update -y - apt-get install -y cron locales # needed for functional tests to pass - cd /workdir; bundle config set --local without omnibus_package docgen ruby_prof - cd /workdir; bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:functional expeditor: executor: docker: image: rubydistros/ubuntu-18.04:2.6 privileged: true - label: "Unit Specs Ubuntu :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - bundle config set --local without omnibus_package docgen ruby_prof - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:unit - bundle exec rake component_specs expeditor: executor: docker: image: rubydistros/ubuntu-18.04:2.6 - label: "Integration Specs CentOS :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - cd /workdir; bundle config set --local without omnibus_package docgen - cd /workdir; bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:integration expeditor: executor: docker: image: rubydistros/centos-7:2.6 privileged: true - label: "Functional Specs CentOS :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - yum install -y crontabs e2fsprogs util-linux - cd /workdir; bundle config set --local without omnibus_package docgen ruby_prof - cd /workdir; bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:functional expeditor: executor: docker: image: rubydistros/centos-7:2.6 privileged: true - label: "Unit Specs CentOS :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - bundle config set --local without omnibus_package docgen ruby_prof - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:unit - bundle exec rake component_specs expeditor: executor: docker: image: rubydistros/centos-7:2.6 - label: "Integration Specs openSUSE :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - zypper install -y cron insserv-compat - cd /workdir; bundle config set --local without omnibus_package docgen - cd /workdir; bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:integration expeditor: executor: docker: image: rubydistros/opensuse-15:2.6 privileged: true - label: "Functional Specs openSUSE :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - zypper install -y cronie insserv-compat - cd /workdir; bundle config set --local without omnibus_package docgen ruby_prof - cd /workdir; bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:functional expeditor: executor: docker: image: rubydistros/opensuse-15:2.6 privileged: true - label: "Unit Specs openSUSE :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - bundle config set --local without omnibus_package docgen ruby_prof - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:unit - bundle exec rake component_specs expeditor: executor: docker: image: rubydistros/opensuse-15:2.6 - label: "Integration Specs Fedora :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - cd /workdir; bundle config set --local without omnibus_package docgen - cd /workdir; bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:integration expeditor: executor: docker: image: rubydistros/fedora-latest:2.6 privileged: true - label: "Functional Specs Fedora :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - yum install -y crontabs e2fsprogs util-linux - cd /workdir; bundle config set --local without omnibus_package docgen ruby_prof - cd /workdir; bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:functional expeditor: executor: docker: image: rubydistros/fedora-latest:2.6 privileged: true environment: - FORCE_FFI_YAJL=ext - CHEF_LICENSE=accept-no-persist - label: "Unit Specs Fedora :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - bundle config set --local without omnibus_package docgen ruby_prof - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:unit - bundle exec rake component_specs expeditor: executor: docker: image: rubydistros/fedora-latest:2.6 - label: "Integration Specs Windows :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_win_integration.ps1 expeditor: executor: docker: host_os: windows image: rubydistros/windows-2019:2.6 environment: - FORCE_FFI_YAJL=ext - CHEF_LICENSE=accept-no-persist shell: ["powershell", "-Command"] - label: "Functional Specs Windows :ruby: 2.6" commands: - scripts/bk_tests/bk_win_functional.ps1 expeditor: executor: windows: privileged: true single-use: true shell: ["powershell", "-Command"] - label: "Chocolatey Specs Windows :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_run_choco.ps1 expeditor: executor: docker: host_os: windows image: rubydistros/windows-2019:2.6 shell: ["powershell", "-Command"] - label: "Unit Specs Windows :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_win_unit.ps1 expeditor: executor: docker: host_os: windows image: rubydistros/windows-2019:2.6 environment: - FORCE_FFI_YAJL=ext - CHEF_LICENSE=accept-no-persist shell: ["powershell", "-Command"] - label: "Chefstyle :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - bundle config set --local without omnibus_package docgen ruby_prof - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake style expeditor: executor: docker: image: rubydistros/ubuntu-18.04:2.6 ######################################################################### # Tests Ruby 2.5 ######################################################################### - label: "Integration Specs :ruby: 2.5" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - bundle config set --local without omnibus_package docgen - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:integration expeditor: executor: docker: image: ruby:2.5-buster privileged: true - label: "Functional Specs :ruby: 2.5" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - apt-get update -y - apt-get install -y cron locales net-tools # needed for functional tests to pass - bundle config set --local without omnibus_package docgen - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:functional expeditor: executor: docker: image: ruby:2.5-buster privileged: true - label: "Unit Specs :ruby: 2.5" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - bundle config set --local without omnibus_package docgen - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec rake spec:unit - bundle exec rake component_specs expeditor: executor: docker: image: ruby:2.5-buster ######################################################################### # EXTERNAL GEM TESTING ######################################################################### - label: "chef-sugar gem :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - bundle config set --local without omnibus_package docgen - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec tasks/bin/run_external_test chef/chef-sugar master rake expeditor: executor: docker: image: rubydistros/ubuntu-18.04:2.6 - label: "chef-zero gem :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - bundle config set --local without omnibus_package docgen - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec tasks/bin/run_external_test chef/chef-zero master rake pedant expeditor: executor: docker: image: rubydistros/ubuntu-18.04:2.6 environment: - PEDANT_OPTS=--skip-oc_id - CHEF_FS=true - label: "cheffish gem :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - bundle config set --local without omnibus_package docgen - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec tasks/bin/run_external_test chef/cheffish master rake spec expeditor: executor: docker: image: rubydistros/ubuntu-18.04:2.6 - label: "chefspec gem :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - bundle config set --local without omnibus_package docgen - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec tasks/bin/run_external_test chefspec/chefspec master rake expeditor: executor: docker: image: rubydistros/ubuntu-18.04:2.6 - label: "knife-windows gem :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - bundle config set --local without omnibus_package docgen - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec tasks/bin/run_external_test chef/knife-windows master rake spec expeditor: executor: docker: image: rubydistros/ubuntu-18.04:2.6 - label: "berkshelf gem :ruby: 2.6" commands: - /workdir/scripts/bk_tests/bk_container_prep.sh - apt-get update -y - apt-get install -y graphviz - gem install bundler -v 1.17.3 # necessary for berks Gemfile.lock for now - bundle config set --local without omnibus_package docgen - bundle install --jobs=3 --retry=3 --path=vendor/bundle - bundle exec tasks/bin/run_external_test berkshelf/berkshelf master rake expeditor: executor: docker: image: rubydistros/ubuntu-18.04:2.6 ######################################################################### # START TEST KITCHEN ONLY ######################################################################### - label: "Kitchen: Amazon Linux 2" commands: - scripts/bk_tests/bk_linux_exec.sh - . /var/lib/buildkite-agent/.asdf/asdf.sh - cd kitchen-tests - bundle exec kitchen test end-to-end-amazonlinux-2 artifact_paths: - $PWD/.kitchen/logs/kitchen.log env: KITCHEN_YAML: kitchen.yml expeditor: executor: linux: privileged: true single-use: true - label: "Kitchen: Ubuntu 16.04" commands: - scripts/bk_tests/bk_linux_exec.sh - . /var/lib/buildkite-agent/.asdf/asdf.sh - cd kitchen-tests - bundle exec kitchen test end-to-end-ubuntu-1604 artifact_paths: - $PWD/.kitchen/logs/kitchen.log env: UBUNTU: "16.04" KITCHEN_YAML: kitchen.yml expeditor: executor: linux: privileged: true single-use: true - label: "Kitchen: Ubuntu 18.04" commands: - scripts/bk_tests/bk_linux_exec.sh - . /var/lib/buildkite-agent/.asdf/asdf.sh - cd kitchen-tests - bundle exec kitchen test end-to-end-ubuntu-1804 artifact_paths: - $PWD/.kitchen/logs/kitchen.log env: KITCHEN_YAML: kitchen.yml expeditor: executor: linux: privileged: true single-use: true - label: "Kitchen: Ubuntu 20.04" commands: - scripts/bk_tests/bk_linux_exec.sh - . /var/lib/buildkite-agent/.asdf/asdf.sh - cd kitchen-tests - bundle exec kitchen test end-to-end-ubuntu-2004 artifact_paths: - $PWD/.kitchen/logs/kitchen.log env: KITCHEN_YAML: kitchen.yml expeditor: executor: linux: privileged: true single-use: true - label: "Kitchen: Debian 8" commands: - scripts/bk_tests/bk_linux_exec.sh - . /var/lib/buildkite-agent/.asdf/asdf.sh - cd kitchen-tests - bundle exec kitchen test end-to-end-debian-8 artifact_paths: - $PWD/.kitchen/logs/kitchen.log env: KITCHEN_YAML: kitchen.yml expeditor: executor: linux: privileged: true single-use: true - label: "Kitchen: Debian 9" commands: - scripts/bk_tests/bk_linux_exec.sh - . /var/lib/buildkite-agent/.asdf/asdf.sh - cd kitchen-tests - bundle exec kitchen test end-to-end-debian-9 artifact_paths: - $PWD/.kitchen/logs/kitchen.log env: KITCHEN_YAML: kitchen.yml expeditor: executor: linux: privileged: true single-use: true - label: "Kitchen: Debian 10" commands: - scripts/bk_tests/bk_linux_exec.sh - . /var/lib/buildkite-agent/.asdf/asdf.sh - cd kitchen-tests - bundle exec kitchen test end-to-end-debian-10 artifact_paths: - $PWD/.kitchen/logs/kitchen.log env: KITCHEN_YAML: kitchen.yml expeditor: executor: linux: privileged: true single-use: true - label: "Kitchen: CentOS 6" commands: - scripts/bk_tests/bk_linux_exec.sh - . /var/lib/buildkite-agent/.asdf/asdf.sh - cd kitchen-tests - bundle exec kitchen test end-to-end-centos-6 artifact_paths: - $PWD/.kitchen/logs/kitchen.log env: KITCHEN_YAML: kitchen.yml expeditor: executor: linux: privileged: true single-use: true - label: "Kitchen: CentOS 7" commands: - scripts/bk_tests/bk_linux_exec.sh - . /var/lib/buildkite-agent/.asdf/asdf.sh - cd kitchen-tests - bundle exec kitchen test end-to-end-centos-7 artifact_paths: - $PWD/.kitchen/logs/kitchen.log env: KITCHEN_YAML: kitchen.yml expeditor: executor: linux: privileged: true single-use: true - label: "Kitchen: CentOS 8" commands: - scripts/bk_tests/bk_linux_exec.sh - . /var/lib/buildkite-agent/.asdf/asdf.sh - cd kitchen-tests - bundle exec kitchen test end-to-end-centos-8 artifact_paths: - $PWD/.kitchen/logs/kitchen.log env: KITCHEN_YAML: kitchen.yml expeditor: executor: linux: privileged: true single-use: true - label: "Kitchen: Oracle Linux 7" commands: - scripts/bk_tests/bk_linux_exec.sh - . /var/lib/buildkite-agent/.asdf/asdf.sh - cd kitchen-tests - bundle exec kitchen test end-to-end-oraclelinux-7 artifact_paths: - $PWD/.kitchen/logs/kitchen.log env: KITCHEN_YAML: kitchen.yml expeditor: executor: linux: privileged: true single-use: true - label: "Kitchen: Fedora latest" commands: - scripts/bk_tests/bk_linux_exec.sh - . /var/lib/buildkite-agent/.asdf/asdf.sh - cd kitchen-tests - bundle exec kitchen test end-to-end-fedora-latest artifact_paths: - $PWD/.kitchen/logs/kitchen.log env: KITCHEN_YAML: kitchen.yml expeditor: executor: linux: privileged: true single-use: true - label: "Kitchen: openSUSE Leap: 15" commands: - scripts/bk_tests/bk_linux_exec.sh - . /var/lib/buildkite-agent/.asdf/asdf.sh - cd kitchen-tests - bundle exec kitchen test end-to-end-opensuse-leap-15 artifact_paths: - $PWD/.kitchen/logs/kitchen.log env: KITCHEN_YAML: kitchen.yml expeditor: executor: linux: privileged: true single-use: true - label: ":habicat: Linux plan" commands: - sudo ./scripts/ci/install-hab.sh 'x86_64-linux' - sudo ./scripts/ci/verify-plan.sh timeout_in_minutes: 60 expeditor: executor: linux: privileged: true single-use: true - label: ":habicat: Linux plan (kernel2)" commands: - sudo ./scripts/ci/install-hab.sh 'x86_64-linux-kernel2' - sudo ./scripts/ci/verify-plan.sh timeout_in_minutes: 60 expeditor: executor: linux: privileged: true single-use: true - label: ":habicat: Windows plan" commands: - ./scripts/ci/verify-plan.ps1 timeout_in_minutes: 60 expeditor: executor: windows: privileged: true single-use: true shell: ["powershell", "-Command"]