github.com/letsencrypt/boulder@v0.20251208.0/test/boulder-tools/Dockerfile (about) 1 # syntax=docker/dockerfile:1 2 FROM buildpack-deps:noble-scm AS godeps 3 ARG GO_VERSION 4 # Provided automatically by docker build. 5 ARG TARGETPLATFORM 6 ARG BUILDPLATFORM 7 ENV TARGETPLATFORM=${TARGETPLATFORM:-$BUILDPLATFORM} 8 ENV GO_VERSION=$GO_VERSION 9 ENV PATH=/usr/local/go/bin:/usr/local/protoc/bin:$PATH 10 ENV GOBIN=/usr/local/bin/ 11 RUN curl "https://dl.google.com/go/go${GO_VERSION}.$(echo $TARGETPLATFORM | sed 's|\/|-|').tar.gz" |\ 12 tar -C /usr/local -xz 13 RUN go install github.com/rubenv/sql-migrate/sql-migrate@v1.1.2 14 RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.5 15 RUN go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.5.1 16 RUN go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.1.6 17 RUN go install github.com/jsha/minica@v1.1.0 18 19 FROM rust:latest AS rustdeps 20 # Provided automatically by docker build. 21 ARG TARGETPLATFORM 22 ARG BUILDPLATFORM 23 ENV TARGETPLATFORM=${TARGETPLATFORM:-$BUILDPLATFORM} 24 COPY build-rust-deps.sh /tmp/build-rust-deps.sh 25 RUN /tmp/build-rust-deps.sh 26 27 # When the version of Ubuntu (focal, jammy, etc) changes, ensure that the 28 # version of libc6 is compatible with the rustdeps container above. See 29 # https://github.com/letsencrypt/boulder/pull/7248#issuecomment-1896612920 for 30 # more information. 31 # 32 # Run this command in each container: dpkg -l libc6 33 FROM buildpack-deps:noble-scm 34 # Provided automatically by docker build. 35 ARG TARGETPLATFORM 36 ARG BUILDPLATFORM 37 ENV TARGETPLATFORM=${TARGETPLATFORM:-$BUILDPLATFORM} 38 COPY requirements.txt /tmp/requirements.txt 39 COPY boulder.rsyslog.conf /etc/rsyslog.d/ 40 COPY build.sh /tmp/build.sh 41 RUN /tmp/build.sh 42 43 RUN sed -i '/imklog/s/^/#/' /etc/rsyslog.conf 44 RUN sed -i '/$ActionFileDefaultTemplate/s/^/#/' /etc/rsyslog.conf 45 RUN sed -i '/$RepeatedMsgReduction on/s/^/#/' /etc/rsyslog.conf 46 47 COPY --from=godeps /usr/local/bin/* /usr/local/bin/ 48 COPY --from=godeps /usr/local/go/ /usr/local/go/ 49 COPY --from=rustdeps /usr/local/cargo/bin/typos /usr/local/bin/typos 50 51 ENV PATH=/usr/local/go/bin:/usr/local/protoc/bin:$PATH