-
Notifications
You must be signed in to change notification settings - Fork 168
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
Makefile: Add platform variant to eve container's TAG and rootfs version #4641
Conversation
I don't think it's a problem of the PR, but should we check, what's it?
https://github.com/lf-edge/eve/actions/runs/13519855895/attempts/1?pr=4641 |
This one definitely not related, but the other two failing are related, I will work on the fix.... |
In order to push the eve container for different variants, we must set different TAGs. Following the same approach for pkg/fw and pkg/nvidia, this commit adds the platform variant to the eve container's TAG when building for non-generic platforms. Nothing changes for generic (and specially x86) platforms. Additionally, EVE-OS images must be differentiated across platform variants, so a remote controller can provide the same version for different platforms, e.g., generic, nvidia-jp5, nvidia-jp6. The platform variant is also added to the rootfs version (except for the default 'generic' platform). The new TAG scheme changes from: <HASH/EVE_RELEASE>-<HV>-<ARCH> To: <HASH/EVE_RELEASE>-<PLATFORM_VARIANT>-<HV>-<ARCH> The PLATFORM variant is added right after the hash/release in order to keep the tuple <HV>-<ARCH>, keeping compatibilty with any script/tool that expects this kind of tag. Signed-off-by: Renê de Souza Pinto <[email protected]>
Personally, I don't like the
Is it possible to have two tags for
They would be identical, and tags have no real cost. The reason for it is to have consistency with If it is too much of a headache, don't bother, but I do think it will make things easier for us going forward. |
I understand and agree with your point @deitch . I could let the generic variant in the tag, but provide both doesn't seems to be that easy, AFAIK we can't create multiple tags easily with linuxkit as it can be done with docker. However, I can allow to force TAGPLAT, so one could use, for instance, |
Not sure, how would that work? Like I said, if it is too much of a headache, don't bother. Or maybe see if one of the easy tools can tag it after pushing. |
I was thinking on allow to override TAGPLAT from command line, but thinking twice I prefer to keep as it is, worst case we can manually create the tag from the publishing workflow... in anycase, this PR prepares the rootfs version and tag for platform variants, so the idea is that publishing workflow will only need to add the variants to the matrix so |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine. I think it should not break anything for the generic platforms =)
@deitch , do you have any more comments? Otherwise it's ready for merge... |
Nope @rene nothing to add. That Makefile is ugly and hard to read and way too complex, but that has nothing to do with this PR 😁 |
In order to push the eve container for different variants, we must set different TAGs. Following the same approach for pkg/fw and pkg/nvidia, this commit adds the platform variant to the eve container's TAG when building for non-generic platforms. Nothing changes for generic (and specially x86) platforms.
Additionally, EVE-OS images must be differentiated across platform variants, so a remote controller can provide the same version for different platforms, e.g., generic, nvidia-jp5, nvidia-jp6. The platform variant is also added to the rootfs version (except for the default 'generic' platform).
The new TAG scheme changes from:
<HASH/EVE_RELEASE>-<HV>-<ARCH>
To:
<HASH/EVE_RELEASE>-<PLATFORM_VARIANT>-<HV>-<ARCH>
The PLATFORM variant is added right after the hash/release in order to keep the tuple
<HV>-<ARCH>
, keeping compatibilty with any script/tool that expects this kind of tag.