habitat-sh / habitat

Modern applications with built-in automation
https://www.habitat.sh
Apache License 2.0
2.61k stars 316 forks source link

fixes for release pipeline (aarch64) #9481

Open sajjaphani opened 5 days ago

sajjaphani commented 5 days ago

Currently, the release pipeline is failing because it is falling back to the LTS-2024 channel, where none of the hab* packages exist. To unblock the release pipeline, the fallback channel has been updated to stable.

Note: The hab, hab-studio, hab-backline, and hab-plan-build packages with version 1.6.1178 have been promoted to the stable channel.

netlify[bot] commented 5 days ago

Deploy Preview for chef-habitat processing.

Name Link
Latest commit 29ca9564396f6c7ec1a4935b7dfe2aa4dea749c5
Latest deploy log https://app.netlify.com/sites/chef-habitat/deploys/673f36c51186fd0008b628fa
mwrock commented 3 days ago

You actually want the release channel to fall back t oLTS-2024. The "primary" HAB_BLDR_CHANNEL should be a dynamically created channel based on the BUILDKITE_BUILD_ID. As components are built in the pipeline, the they are uploaded to this channel. So core/hab is built and uploaded to that channel and then core/hab-plan-build should get hab from that channel.

I'm looking at https://buildkite.com/chef/habitat-sh-habitat-main-release-habitat/builds/2002 where the release pipeline is failing. For some reason hab-plan-build is not honoring HAB_BLDR_CHANNEL, but I have not looked deeply into this. Anyways, I think that is the problem you want to investigate. If you fall back to stable, then all of the deps will come from stable instead of LTS-2024.

sajjaphani commented 1 day ago

For aarch64, we have core packages in the LTS-2024 channel, and the hab* packages built against them are placed in the stable channel. We introduced the HAB_REFRESH_CHANNEL to pull core dependencies, and the aarch64 packages in the stable channel are built with these changes.

https://github.com/habitat-sh/habitat/blob/9ef672b40e323cc45874f3ca93d39586cd849a84/components/plan-build/bin/hab-plan-build.sh#L691-L698

It appears that with the introduction of HAB_REFRESH_CHANNEL, the HAB_BLDR_CHANNEL is no longer honored for core packages.

For aarch64, the HAB_REFRESH_CHANNEL is set to LTS-2024 in both the verify and release pipelines to pull dependencies, while the HAB_FALLBACK_CHANNEL is configured to pull the hab, hab-studio, and similar packages from the stable channel. No other packages, except for hab, hab-studio, and related ones, are present in the stable channel.