ci(docker): incorporate docker release enhancements from uv #13274
+262
−15
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR updates
ruff
to matchuv
updated docker releases approach. It's a combined PR with changes from these PR'sSummary of changes / features
This change would publish an additional tags that includes only
major.minor
.For a release with
x.y.z
, this would publish the tags:Parallelizes multi-platform builds using multiple workers (hence the new docker-build / docker-publish jobs), which cuts docker releases time in half.
This PR introduces additional images with the ruff binaries from scratch for both amd64/arm64 and makes the mapping easy to configure by generating the Dockerfile on the fly. This approach focuses on minimizing CI time by taking advantage of dedicating a worker per mapping (20-30s~ per job). For example, on release
x.y.z
, this will publish the following image tags with formatghcr.io/astral-sh/ruff:{tag}
with manifests for both amd64/arm64. This also includex.y
tags for each respective additional tag. Note, this version does not include the python based images, unlikeuv
.latest
,x.y.z
,x.y
(currently being published)alpine
,alpine3.20
,x.y.z-alpine
,x.y.z-alpine3.20
debian-slim
,bookworm-slim
,x.y.z-debian-slim
,x.y.z-bookworm-slim
debian
,bookworm
,x.y.z-debian
,x.y.z-bookworm
This PR also fixes
org.opencontainers.image.version
for all tags (including the one fromscratch
) to contain the right release version instead of branch namemain
(current behavior).Test Plan
Approach mimics
uv
with almost no changes so risk is low but I still tested the full workflow.