summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobb Kidd <robb@thekidds.org>2019-10-30 17:14:01 -0400
committerRobb Kidd <robb@thekidds.org>2019-11-01 14:22:33 -0400
commitf379e6dab2db0f507b636d0dcf09af81cd1ac4d4 (patch)
tree5537d920b404a0eeedf6eff198edd476d05db5c6
parenta64ed377897184bb605d00234ed50a16b7ffc703 (diff)
downloadchef-f379e6dab2db0f507b636d0dcf09af81cd1ac4d4.tar.gz
disconnect hab promotion from omnibus pipeline
Removed the promote_hab_package actions from the omnibus release workloads. Defined a new workload subscribed to BuildKite successfully publishing to unstable packages for all platforms listed in .bldr.toml. The habitat/test pipeline is now responsible for testing the unstable packages just built and promoting them if they all pass. Currently scoped only to the Windows package because the Linux packages don't test well yet. Co-authored-by: Jeremiah Snapp <jeremiah.snapp@gmail.com> Signed-off-by: Robb Kidd <robb@thekidds.org>
-rw-r--r--.expeditor/config.yml11
-rw-r--r--.expeditor/habitat-test.pipeline.yml32
2 files changed, 22 insertions, 21 deletions
diff --git a/.expeditor/config.yml b/.expeditor/config.yml
index 46fbd82de3..9d3e5b85b2 100644
--- a/.expeditor/config.yml
+++ b/.expeditor/config.yml
@@ -90,21 +90,28 @@ merge_actions:
only_if: built_in:bump_version
subscriptions:
+ # the omnibus/docker/gem chain
- workload: artifact_published:unstable:chef:{{version_constraint}}
actions:
- built_in:build_docker_image
- workload: artifact_published:current:chef:{{version_constraint}}
actions:
- built_in:tag_docker_image
- - built_in:promote_habitat_packages
- workload: artifact_published:stable:chef:{{version_constraint}}
actions:
- built_in:rollover_changelog
- bash:.expeditor/update_dockerfile.sh
- built_in:tag_docker_image
- - built_in:promote_habitat_packages
- built_in:publish_rubygems
- built_in:notify_chefio_slack_channels
+
+ # the habitat chain
+ - workload: buildkite_hab_build_group_published:{{agent_id}}:*
+ actions:
+ # when all of the hab package publish to the unstable channel, test and promote them
+ - trigger_pipeline:habitat/test
+
+ # subscriptions to Ruby gem dependencies' releases, open PR for updates
- workload: ruby_gem_published:mixlib-archive-*
actions:
- bash:.expeditor/update_dep.sh
diff --git a/.expeditor/habitat-test.pipeline.yml b/.expeditor/habitat-test.pipeline.yml
index 31e259f072..4fa9fdfd48 100644
--- a/.expeditor/habitat-test.pipeline.yml
+++ b/.expeditor/habitat-test.pipeline.yml
@@ -1,32 +1,26 @@
---
steps:
-- label: ":linux: Validate Habitat Builds of Chef Infra"
+- label: ":windows: Validate Habitat Builds of Chef Infra"
commands:
- - hab pkg install "$EXPEDITOR_PKG_IDENTS_CHEFINFRACLIENTX86_64LINUX"
- - powershell -File "./habitat/tests/test.sh" -PackageIdentifier "$EXPEDITOR_PKG_IDENTS_CHEFINFRACLIENTX86_64LINUX"
+ - hab pkg install "$EXPEDITOR_PKG_IDENTS_CHEFINFRACLIENTX86_64WINDOWS"
+ - powershell -File "./habitat/tests/test.ps1" -PackageIdentifier "$EXPEDITOR_PKG_IDENTS_CHEFINFRACLIENTX86_64WINDOWS"
expeditor:
executor:
- linux:
+ windows:
privileged: true
single-use: true
-- label: ":linux: :two: Validate Habitat Builds of Chef Infra"
- commands:
- - hab pkg install "$EXPEDITOR_PKG_IDENTS_CHEFINFRACLIENTX86_64LINUXKERNEL2"
- - powershell -File "./habitat/tests/test.sh" -PackageIdentifier "$EXPEDITOR_PKG_IDENTS_CHEFINFRACLIENTX86_64LINUXKERNEL2"
- expeditor:
- executor:
- linux:
- privileged: true
- single-use: true
+# Wait for the package testing to succeed before promoting whatever was tested.
+- wait
-- label: ":windows: Validate Habitat Builds of Chef Infra"
+- label: ":habicat: Promoting packages to the current channel."
commands:
- - hab pkg install "$EXPEDITOR_PKG_IDENTS_CHEFINFRACLIENTX86_64WINDOWS"
- - powershell -File "./habitat/tests/test.ps1" -PackageIdentifier "$EXPEDITOR_PKG_IDENTS_CHEFINFRACLIENTX86_64WINDOWS"
+ - hab pkg promote "$EXPEDITOR_PKG_IDENTS_CHEFINFRACLIENTX86_64WINDOWS" current
expeditor:
executor:
- windows:
- privileged: true
- single-use: true
+ docker:
+ secrets:
+ HAB_AUTH_TOKEN:
+ path: account/static/habitat/chef-ci
+ field: auth_token