aboutsummaryrefslogtreecommitdiff
path: root/releng/docker.xsh
AgeCommit message (Collapse)Author
2024-07-23releng: Remove workaround for skopeo feature we didn't know aboutJade Lovelace
It turns out skopeo *does* support not saying the tag, but I couldn't find it in the docs. Asking the author in https://github.com/containers/skopeo/issues/2354 yielded that this can be requested as `@@unknown-digest@@`. So now we have a perfectly cromulent docker upload chain, yay!! Change-Id: I256f3cbeef4fe28b3d68d0dda57f02cdaee3996b
2024-06-13releng: fix upload of multiarch images to forgejoJade Lovelace
Forgejo appears to immediately delete registry content that is overwritten. This means that we are forced to delete our previous workaround of making a temporary tag and use a new, more absurd workaround of making an entire temporary image that we basically only need to create to get its hash. However, on the plus side, the new workaround doesn't create garbage tags to begin with, which means that we don't have to deal with GitHub not implementing the standardized tag delete endpoint and instead only implementing a proprietary one. Upstream-Bug: https://github.com/containers/skopeo/issues/2354 Change-Id: I220e7ce9a17fd230c38882f12c009a166dcc9336
2024-06-09releng: add prod environment, ready for releaseJade Lovelace
I am *reasonably* confident that this releng infrastructure can actually build a Lix 2.90 and release it successfully. Let's make it possible to do, and add some cute colours to the confirmation message. Change-Id: I85e498b6fb49ffc5e75c0a72c5e45fb1f69030d3
2024-06-09releng: support multiarch docker imagesJade Lovelace
If we don't want to have separate registry tags by architecture (EWWWW), we need to be able to build multiarch docker images. This is pretty simple, and just requires making a manifest pointing to each of the component images. I was *going* to just do this API prodding with manifest-tool, but it doesn't support putting metadata on the outer manifest, which is actually kind of a problem because it then doesn't render the metadata on github. So I guess we get a simple little containers API implementation that is 90% auth code. Change-Id: I8bdd118d4cbc13b23224f2fb174b232432686bea
2024-06-09Implement docker upload in the releng toolsJade Lovelace
This uses skopeo to not think about docker daemons. I, however, noticed that the docker image we had would have totally terrible cache hits, so I rewrote it. Fixes: https://git.lix.systems/lix-project/lix/issues/252 Change-Id: I3c5b6c1f3ba0b9dfcac212b2148f390e0cd542b7