summaryrefslogtreecommitdiff
path: root/azure-pipelines.yml
diff options
context:
space:
mode:
Diffstat (limited to 'azure-pipelines.yml')
-rw-r--r--azure-pipelines.yml88
1 files changed, 88 insertions, 0 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
new file mode 100644
index 0000000000..765812faf9
--- /dev/null
+++ b/azure-pipelines.yml
@@ -0,0 +1,88 @@
+# End-to-End Test of Chef in MacOS
+
+variables:
+ FORCE_FFI_YAJL: 'ext'
+ CHEF_LICENSE: 'accept-no-persist'
+
+trigger:
+- master
+# TODO: 20190528 - should we be testing end_to_end on chef-15 and chef-14?
+#- chef-15
+#- chef-14
+
+pool:
+ vmImage: $(imageName)
+
+jobs:
+ - job:
+ strategy:
+ matrix:
+ linux:
+ imageName: 'ubuntu-latest'
+ mac:
+ imageName: 'macos-latest'
+
+ steps:
+ - script: |
+ curl -L https://omnitruck.chef.io/install.sh | sudo bash -s -- -c current
+ /opt/chef/bin/chef-client -v
+ /opt/chef/bin/ohai -v
+ /opt/chef/embedded/bin/rake --version
+ /opt/chef/embedded/bin/bundle -v
+ displayName: 'Install Chef/Ohai from Omnitruck'
+
+ - script: |
+ OHAI_VERSION=$(sed -n '/ohai .[0-9]/{s/.*(//;s/)//;p;}' Gemfile.lock)
+ sudo /opt/chef/embedded/bin/gem install appbundler appbundle-updater --no-doc
+ sudo /opt/chef/embedded/bin/appbundle-updater chef ohai v${OHAI_VERSION} --tarball --github chef/ohai
+ sudo /opt/chef/embedded/bin/appbundle-updater chef chef $BUILD_SOURCEVERSION --tarball --github chef/chef
+ echo "Installed Chef / Ohai release:"
+ /opt/chef/bin/chef-client -v
+ /opt/chef/bin/ohai -v
+ displayName: 'Upgrade Chef/Ohai via Appbundler'
+
+ - script: |
+ cd kitchen-tests
+ sudo /opt/chef/embedded/bin/bundle config set without 'omnibus_package docgen ruby_prof'
+ sudo /opt/chef/embedded/bin/bundle install --jobs=3 --retry=3 --path=vendor/bundle
+ sudo /opt/chef/embedded/bin/gem install berkshelf --no-doc
+ sudo /opt/chef/embedded/bin/berks vendor cookbooks
+ sudo /opt/chef/bin/chef-client -z -o end_to_end --chef-license accept-no-persist
+ displayName: 'Run end_to_end::default recipe'
+
+ - job:
+ strategy:
+ matrix:
+ windows:
+ imageName: 'windows-latest'
+
+ steps:
+ - powershell: |
+ . { Invoke-WebRequest -useb https://omnitruck.chef.io/install.ps1 } | Invoke-Expression; Install-Project -project chef -channel current
+ $env:PATH = "C:\opscode\chef\bin;C:\opscode\chef\embedded\bin;" + $env:PATH
+ chef-client -v
+ ohai -v
+ rake --version
+ bundle -v
+ displayName: 'Install Chef/Ohai from Omnitruck'
+
+ - powershell: |
+ $env:PATH = "C:\opscode\chef\bin;C:\opscode\chef\embedded\bin;" + $env:PATH
+ $env:OHAI_VERSION = ( Select-String -Path .\Gemfile.lock -Pattern '(?<=ohai \()\d.*(?=\))' | ForEach-Object { $_.Matches[0].Value } )
+ gem install appbundler appbundle-updater --no-doc
+ appbundle-updater chef ohai v$env:OHAI_VERSION --tarball --github chef/ohai
+ appbundle-updater chef chef $env:BUILD_SOURCEVERSION --tarball --github chef/chef
+ Write-Output "Installed Chef / Ohai release:"
+ chef-client -v
+ ohai -v
+ displayName: 'Upgrade Chef/Ohai via Appbundler'
+
+ - powershell: |
+ cd kitchen-tests
+ $env:PATH = "C:\opscode\chef\bin;C:\opscode\chef\embedded\bin;" + $env:PATH
+ bundle config set without 'omnibus_package docgen ruby_prof'
+ bundle install --jobs=3 --retry=3 --path=vendor/bundle
+ gem install berkshelf --no-doc
+ berks vendor cookbooks
+ chef-client -z -o end_to_end --chef-license accept-no-persist
+ displayName: 'Run end_to_end::default recipe'