Closed elliott-davis closed 3 years ago
@tashimi / @elliott-davis, as of today this has become production-critical for us (had a minor production outage because of the "Polka Problem" described here, which we think can be circumvented by auto-promoting our origin's packages to a staging
channel or similar and then setting HAB_BLDR_CHANNEL
to staging
in our Builder secrets.
cc: @bixu
(It seems at the moment that our only alternative is to stop using Builder entirely and retain only the artifact storage (Depot) functionality.)
I did some research yesterday into what it would take to enable this feature and it doesn't look that bad. It looks like it was at least partially implemented at some point in the past, because the .bldr.toml
file has support in it for channels. @chefsalim mentioned that he removed parts of this feature at one point, but I'm not clear what the reasons were for that, or if there's something preventing us from putting it back together.
The feature was removed as it was broken and needed re-design - the promote then was happening in the job scheduler, which is not where we want actual job tasks to happen. Also the bldr.toml could override the sandboxing the way the original implementation worked, which is not what we want.
So from a requirements perspective, the decisions to be made are around:
My 2cts here:
My thoughts:
.bldr.toml
. The feedback I'm hearing from users here revolves around wanting more control over their build process, and letting them specify the channels they want in the .bldr.toml
would give a lot of control. I don't think it would be that much extra work to make this happen, and the benefits are huge.stable
be one of the channels, particularly if we require that the entire group build successfully before auto-promotion happens. What other criteria are there for promoting something to stable
other than a successful build?@raskchanky re stable being one of the channels. I think technically, it works if all jobs succeed indeed. I was thinking core-plans and I think there we should forbid that (at least for now?), but that could be done in a travis check maybe.
@rsertelon That's a fair point, and we might also be able to include that as a configuration option inside the .bldr.toml
file. Something like promotion_to_stable_allowed = true
, so it could be tweaked as needed.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. We value your input and contribution. Please leave a comment if this issue still affects you.
This issue has been automatically closed after being stale for 400 days. We still value your input and contribution. Please re-open the issue if desired and leave a comment with details.
@tashimi commented on Sat Dec 16 2017
This is expected/documented behavior but apparently doesn't exist in the code base.
Additional channel promotion
-You can specify a list of additional channels that packages should automatically publish to. By default, software is only published to the
unstable
channel.-
toml -# .bldr.toml -[hab-launcher] -channels = ["stable"] -
@tashimi commented on Sat Dec 16 2017
Aha! Link: https://chef.aha.io/features/APPDL-67