Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wire up promotion logic between new CI pipeline stages #7043

Merged
merged 19 commits into from Oct 22, 2019

Conversation

@scotthain
Copy link
Contributor

scotthain commented Oct 15, 2019

Set and aggregate versions and pkg targets

Signed-off-by: Scott Hain shain@chef.io

@chef-expeditor

This comment has been minimized.

Copy link

chef-expeditor bot commented Oct 15, 2019

Hello scotthain! Thanks for the pull request!

Here is what will happen next:

  1. Your PR will be reviewed by the maintainers.
  2. If everything looks good, one of them will approve it, and your PR will be merged.

Thank you for contributing!

scotthain and others added 14 commits Oct 1, 2019
…data

to set and aggregate versions and pkg targets

Signed-off-by: Scott Hain <shain@chef.io>
It's easier to see where this is being used if it's actually a named
function call. We can also more easily see when we can get rid of it
in the future.

Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Remove dead code, document the expected input file format, rename some
variables.

Signed-off-by: Christopher Maier <cmaier@chef.io>
Now we have `generate_manifest.sh` and `promote_packages.sh`. The
latter is soley driven by a manifest, and can be run at the end of
multiple pipelines.

Additionally, we add some abstraction around our S3 operations with
the new `upload_manifest_for_environment` and
`manifest_for_environment` helper functions.

Signed-off-by: Christopher Maier <cmaier@chef.io>
When we upload a package to Builder, we tag it with the desired
channel at the same time. Calling `hab pkg promote` to the same
channel afterwards is always a no-op.

Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
If buildkite-agent wasn't already present, there'd be no way we could
be running this script in Buildkite in the first place.

Signed-off-by: Christopher Maier <cmaier@chef.io>
It was already declared above.

Signed-off-by: Christopher Maier <cmaier@chef.io>
We'll need the version in order to know which set of artifacts we're
going to be promoting.

Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Also moves binary generation steps to the end of the pipeline.

Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
@christophermaier christophermaier force-pushed the shain/manifesto branch from 16ce4fb to 07d60a7 Oct 21, 2019
@@ -255,4 +255,13 @@ steps:
environment:
- BUILD_PKG_TARGET=x86_64-linux
- HAB_BLDR_URL=https://bldr.acceptance.habitat.sh


- wait

This comment has been minimized.

Copy link
@smacfarlane

smacfarlane Oct 21, 2019

Contributor

Education for myself and our fellow readers: the intent of how we release is that everything that passes e2e testing makes it to acceptance. It's the channels downstream of that that require a human to make a decision on when to promote. Correct?

This comment has been minimized.

Copy link
@christophermaier
Copy link
Contributor

smacfarlane left a comment

Aside from the git-sha and the question around mac artifacts, this looks good to me. Just a handful of small nit-picks/questions. Would be good to get additional eyes from the team on it though.

I think that if one-off builds are working, we should ship this so we can iterate on the remainder of the workflow.

.expeditor/release_habitat.pipeline.yml Show resolved Hide resolved
*)
exit_with "$target_hart has unknown TARGET=$BUILD_PKG_TARGET" 3
;;
*-linux | *-linux-kernel2)

This comment has been minimized.

Copy link
@smacfarlane

smacfarlane Oct 21, 2019

Contributor

This looks right to me, but if we haven't already it'd be good to compare this output with existing releases.

This comment has been minimized.

Copy link
@christophermaier

christophermaier Oct 21, 2019

Contributor

I compared it to the existing ones, and it looks equivalent.

Wouldn't be too tough to create a test for that, though... just gotta figure out where the best place to put such a thing would be 🤔

.expeditor/scripts/release_habitat/shared.sh Outdated Show resolved Hide resolved
Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
#6771

Signed-off-by: Christopher Maier <cmaier@chef.io>
We can just upload it to Builder

Signed-off-by: Christopher Maier <cmaier@chef.io>
@christophermaier christophermaier force-pushed the shain/manifesto branch from 6de3f6f to 933ec17 Oct 21, 2019
@christophermaier christophermaier changed the title Add metadata that will be used for the manifest Wire up promotion logic between new CI pipeline stages Oct 21, 2019
Copy link
Contributor

smacfarlane left a comment

Looks good to me! Probably worth a squish 😸

Signed-off-by: Christopher Maier <cmaier@chef.io>
@christophermaier

This comment has been minimized.

Copy link
Contributor

christophermaier commented Oct 22, 2019

Decided not to squish, since I've linked to specific commits in comments on this PR.

@christophermaier christophermaier merged commit 25d636f into master Oct 22, 2019
5 checks passed
5 checks passed
DCO This commit has a DCO Signed-off-by
Details
buildkite/habitat-sh-habitat-master-verify Build #3816 passed (32 minutes, 46 seconds)
Details
buildkite/habitat-sh-habitat-master-website Build #900 passed (41 seconds)
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
expeditor/config-validation Validated your Expeditor config file
Details
@chef-expeditor chef-expeditor bot deleted the shain/manifesto branch Oct 22, 2019
christophermaier added a commit that referenced this pull request Oct 22, 2019
Turns out this functionality was smuggled into the
`Install-BuildkiteAgent` function that was deleted in #7043.

Signed-off-by: Christopher Maier <cmaier@chef.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.