55# #
66
77
8- ARG GO_TAG=1.25
8+ ARG GO_TAG=1.26
99ARG RUST_TAG=1.90.0
1010
1111# These layers include Debian apt caches, so layers that extend `apt-base`
@@ -20,7 +20,7 @@ COPY --link bin/scurl /usr/local/bin/
2020
2121FROM apt-base as apt-node
2222RUN apt-get install -y gnupg2
23- ARG NODE_MAJOR=20
23+ ARG NODE_MAJOR=26
2424RUN mkdir -p /etc/apt/keyrings && scurl https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
2525RUN echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
2626RUN apt-get update && apt-get install nodejs -y
@@ -45,13 +45,13 @@ RUN url="https://github.com/olix0r/j5j/releases/download/${J5J_VERSION}/j5j-${J5
4545
4646# just runs build/test recipes. Like `make` but a bit more ergonomic.
4747FROM apt-base as just
48- ARG JUST_VERSION=1.43 .0 # repo=casey/just
48+ ARG JUST_VERSION=1.54 .0 # repo=casey/just
4949RUN url="https://github.com/casey/just/releases/download/${JUST_VERSION}/just-${JUST_VERSION}-x86_64-unknown-linux-musl.tar.gz" ; \
5050 scurl "$url" | tar zvxf - -C /usr/local/bin just
5151
5252# yq is kind of like jq, but for YAML.
5353FROM apt-base as yq
54- ARG YQ_VERSION=v4.47.2 # repo=mikefarah/yq
54+ ARG YQ_VERSION=v4.53.3 # repo=mikefarah/yq
5555RUN url="https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_amd64" ; \
5656 scurl -o /yq "$url" && chmod +x /yq
5757
@@ -67,7 +67,7 @@ COPY --link bin/scurl /bin/
6767
6868# helm templates kubernetes manifests.
6969FROM apt-base as helm
70- ARG HELM_VERSION=v3.19.0 # repo=helm/helm
70+ ARG HELM_VERSION=v3.21.2 # repo=helm/helm
7171RUN url="https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz" ; \
7272 scurl "$url" | tar xzvf - --strip-components=1 -C /usr/local/bin linux-amd64/helm
7373
@@ -80,13 +80,13 @@ RUN url="https://github.com/norwoodj/helm-docs/releases/download/$HELM_DOCS_VERS
8080
8181# kubectl controls kubernetes clusters.
8282FROM apt-base as kubectl
83- ARG KUBECTL_VERSION=v1.34.1 # repo=kubernetes/kubernetes
83+ ARG KUBECTL_VERSION=v1.36.2 # repo=kubernetes/kubernetes
8484RUN url="https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl" ; \
8585 scurl -o /usr/local/bin/kubectl "$url" && chmod +x /usr/local/bin/kubectl
8686
8787# k3d runs kubernetes clusters in docker.
8888FROM apt-base as k3d
89- COPY --link --from=ghcr.io/k3d-io/k3d:5.8.3 /bin/k3d /usr/local/bin/
89+ COPY --link --from=ghcr.io/k3d-io/k3d:5.9.0 /bin/k3d /usr/local/bin/
9090# just-k3d is a utility that encodes many of the common k3d commands we use.
9191COPY --link bin/just-k3d /usr/local/bin/
9292# `K3S_IMAGES_JSON` configures just-k3d so that it uses a pinned version of k3s.
@@ -115,7 +115,7 @@ COPY --link --from=ghcr.io/anchore/grype:v0.96.1 /grype /bin/
115115
116116# actionlint lints github actions workflows.
117117FROM apt-base as actionlint
118- ARG ACTIONLINT_VERSION=v1.7.7 # repo=rhysd/actionlint
118+ ARG ACTIONLINT_VERSION=v1.7.12 # repo=rhysd/actionlint
119119RUN url="https://github.com/rhysd/actionlint/releases/download/${ACTIONLINT_VERSION}/actionlint_${ACTIONLINT_VERSION#v}_linux_amd64.tar.gz" ; \
120120 scurl "$url" | tar xzvf - -C /usr/local/bin actionlint
121121
@@ -136,7 +136,7 @@ COPY --link bin/action-* bin/just-dev bin/just-sh /bin/
136136# #
137137
138138FROM apt-base as protobuf
139- ARG PROTOC_VERSION=v32 .1 # repo=protocolbuffers/protobuf
139+ ARG PROTOC_VERSION=v35 .1 # repo=protocolbuffers/protobuf
140140RUN url="https://github.com/google/protobuf/releases/download/$PROTOC_VERSION/protoc-${PROTOC_VERSION#v}-linux-$(uname -m).zip" ; \
141141 cd $(mktemp -d) && \
142142 scurl -o protoc.zip "$url" && \
@@ -157,25 +157,25 @@ RUN url="https://github.com/olix0r/cargo-action-fmt/releases/download/release%2F
157157 scurl "$url" | tar zvxf - -C /usr/local/bin cargo-action-fmt
158158
159159FROM apt-base as cargo-auditable
160- ARG CARGO_AUDITABLE_VERSION=v0.6.6 # repo=rust-secure-code/cargo-auditable
160+ ARG CARGO_AUDITABLE_VERSION=v0.7.5 # repo=rust-secure-code/cargo-auditable
161161RUN url="https://github.com/rust-secure-code/cargo-auditable/releases/download/${CARGO_AUDITABLE_VERSION}/cargo-auditable-x86_64-unknown-linux-gnu.tar.xz" ; \
162162 scurl "$url" | tar xJvf - --strip-components=1 -C /usr/local/bin cargo-auditable-x86_64-unknown-linux-gnu/cargo-auditable
163163
164164# cargo-deny checks cargo dependencies for licensing and RUSTSEC security issues.
165165FROM apt-base as cargo-deny
166- ARG CARGO_DENY_VERSION=0.18 .9 # repo=EmbarkStudios/cargo-deny
166+ ARG CARGO_DENY_VERSION=0.19 .9 # repo=EmbarkStudios/cargo-deny
167167RUN url="https://github.com/EmbarkStudios/cargo-deny/releases/download/${CARGO_DENY_VERSION}/cargo-deny-${CARGO_DENY_VERSION}-x86_64-unknown-linux-musl.tar.gz" ; \
168168 scurl "$url" | tar zvxf - --strip-components=1 -C /usr/local/bin "cargo-deny-${CARGO_DENY_VERSION}-x86_64-unknown-linux-musl/cargo-deny"
169169
170170# cargo-nextest is a nicer test runner.
171171FROM apt-base as cargo-nextest
172- ARG NEXTEST_VERSION=0.9.104 # repo=nextest-rs/nextest,prefix=cargo-nextest-
172+ ARG NEXTEST_VERSION=0.9.138 # repo=nextest-rs/nextest,prefix=cargo-nextest-
173173RUN url="https://github.com/nextest-rs/nextest/releases/download/cargo-nextest-${NEXTEST_VERSION}/cargo-nextest-${NEXTEST_VERSION}-x86_64-unknown-linux-gnu.tar.gz" ; \
174174 scurl "$url" | tar zvxf - -C /usr/local/bin cargo-nextest
175175
176176# cargo-tarpaulin is a code coverage tool.
177177FROM apt-base as cargo-tarpaulin
178- ARG CARGO_TARPAULIN_VERSION=0.32.8 # repo=xd009642/tarpaulin
178+ ARG CARGO_TARPAULIN_VERSION=0.35.5 # repo=xd009642/tarpaulin
179179RUN url="https://github.com/xd009642/tarpaulin/releases/download/${CARGO_TARPAULIN_VERSION}/cargo-tarpaulin-x86_64-unknown-linux-musl.tar.gz" ;\
180180 scurl "$url" | tar xzvf - -C /usr/local/bin cargo-tarpaulin
181181
@@ -201,8 +201,8 @@ FROM docker.io/library/golang:${GO_TAG} as go-outline
201201RUN go install github.com/ramya-rao-a/go-outline@latest
202202
203203FROM docker.io/library/golang:${GO_TAG} as go-protoc
204- ARG PROTOC_GEN_GO_TAG=v1.35.2
205- ARG PROTOC_GEN_GO_GRPC_VERSION=v1.5.1
204+ ARG PROTOC_GEN_GO_TAG=v1.36.11
205+ ARG PROTOC_GEN_GO_GRPC_VERSION=v1.6.2
206206RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@${PROTOC_GEN_GO_TAG}
207207RUN go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@${PROTOC_GEN_GO_GRPC_VERSION}
208208
@@ -243,7 +243,7 @@ COPY --link --from=gotestsum /go/bin/gotestsum /bin/
243243
244244# Networking utilities
245245FROM scratch as tools-net
246- COPY --link --from=ghcr.io/olix0r/hokay:v0.2.2 /hokay /bin/
246+ COPY --link --from=ghcr.io/olix0r/hokay:v0.2.3 /usr/local/bin /hokay /bin/
247247
248248# #
249249# # All Tools
@@ -395,7 +395,7 @@ RUN --mount=type=cache,id=apt-docker,from=apt-base,source=/etc/apt,target=/etc/a
395395 scurl https://raw.githubusercontent.com/microsoft/vscode-dev-containers/main/script-library/docker-debian.sh | bash -s
396396ENV DOCKER_BUILDKIT=1
397397
398- ARG MARKDOWNLINT_VERSION=0.15.0
398+ ARG MARKDOWNLINT_VERSION=0.22.1
399399RUN --mount=type=cache,from=apt-node,source=/etc/apt,target=/etc/apt,ro \
400400 --mount=type=cache,from=apt-node,source=/var/cache/apt,target=/var/cache/apt,sharing=locked \
401401 --mount=type=cache,from=apt-node,source=/var/lib/apt/lists,target=/var/lib/apt/lists,sharing=locked \
0 commit comments