-
Notifications
You must be signed in to change notification settings - Fork 751
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
Get rid of historic bloat on the build pipeline #5457
Comments
@antondlr Any progress on this? Would be great to have a multi-arch image ready that includes the FROM rust:1.77.2-bookworm AS builder
RUN apt-get update && apt-get -y upgrade && apt-get install -y cmake libclang-dev
RUN git clone --depth 1 --branch v5.1.3 https://github.com/sigp/lighthouse.git
ARG FEATURES=spec-minimal
ARG PROFILE=release
ARG CARGO_USE_GIT_CLI=true
ENV FEATURES $FEATURES
ENV PROFILE $PROFILE
ENV CARGO_NET_GIT_FETCH_WITH_CLI=$CARGO_USE_GIT_CLI
RUN cd lighthouse && make
FROM ubuntu:22.04
RUN apt-get update && apt-get -y upgrade && apt-get install -y --no-install-recommends \
libssl-dev \
ca-certificates \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/local/cargo/bin/lighthouse /usr/local/bin/lighthouse
COPY l1-lighthouse-bn-entrypoint.sh /entrypoint-bn.sh
COPY l1-lighthouse-vc-entrypoint.sh /entrypoint-vc.sh
VOLUME ["/db"] Also tried ARG TARGETARCH
FROM sigp/lighthouse:v5.1.3-${TARGETARCH}-modern-dev
COPY l1-lighthouse-bn-entrypoint.sh /entrypoint-bn.sh
COPY l1-lighthouse-vc-entrypoint.sh /entrypoint-vc.sh
VOLUME ["/db"] but that didn't work well either. |
I just saw #5614 I guess that would be fixing this issue? |
yeah I think merging #5614 would fix your issue. |
@sebastianst Yeah it's out as
After the next release, the |
Description
We currently do a lot of different builds (esp. on the docker front) which slows down CI pipelines without any clear benefit.
Additionally, we publish a lot of different docker image tags as part of the build pipeline.
Tangentially related is this issue about the docker pipeline being started more often than necessary, resulting in even more CI overhead.
Present Behaviour
Release binaries are typically built with
portable
andmodern
blst config, which has been redundant since august 2023, when we introduced runtime cpu feature detection to the portable builds.On the docker front, another flavour in built for every spec (-
dev
), which only includesspec-minimal
This results on these builds being released:
Expected Behaviour
portable
the default and get rid ofportable
andmodern
tags, as this should always give you (very close to?) optimal performance, with fallback in place for older systems.spec-minimal
profile to regular docker builds and get rid of-dev
lcli
image to thelcli
image manifest)The releases would thus be cut down to:
Why now?
As we have just had a hard fork, this feels like the safest timing to push out changes to releases and docker images: missing out on an update or two because of hard-coded specificity (eg.
latest-amd64-unstable-dev
) won't be as impactful as it would be right before a fork.However, we should still tread carefully, eg. by keeping an eye on actual downloads (releases) and pulls (docker images).
The text was updated successfully, but these errors were encountered: