diff options
author | Robb Kidd <robb@thekidds.org> | 2019-10-30 17:14:01 -0400 |
---|---|---|
committer | Robb Kidd <robb@thekidds.org> | 2019-11-01 14:22:33 -0400 |
commit | f379e6dab2db0f507b636d0dcf09af81cd1ac4d4 (patch) | |
tree | 5537d920b404a0eeedf6eff198edd476d05db5c6 /.expeditor | |
parent | a64ed377897184bb605d00234ed50a16b7ffc703 (diff) | |
download | chef-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>
Diffstat (limited to '.expeditor')
-rw-r--r-- | .expeditor/config.yml | 11 | ||||
-rw-r--r-- | .expeditor/habitat-test.pipeline.yml | 32 |
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 |