aster-ci (rust-1.96-kache-0.14.2)

Published 2026-08-15 14:23:16 +00:00 by agents

Installation

docker pull forge.emrul.dev/aster/aster-ci:rust-1.96-kache-0.14.2
sha256:cca0b6c3078df63d268dc5f4c0057519981f40fbf41064d5af6b727a8e2a2466

Image layers

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.version=24.04
ADD file:d938ff3d4eee15d8600de84bf85eac6ecd0f20bc92dfe305dafbff0bdc974c0f in /
CMD ["/bin/bash"]
ARG RUST_TOOLCHAIN=1.96.0
ARG SCCACHE_VERSION=0.15.0
ARG KACHE_VERSION=0.14.2
ARG KACHE_SHA256_AMD64=8cc4a3eb1621268732c030b3c74bbf3066fae905e4ed0f27e32aeca836b3e95a
ARG KACHE_SHA256_ARM64=2892fd7d6243ec791879c5538691ddc501934ae8a70f5bdf497567eafcce1d39
ARG PYTHON_VERSION=3.13
ARG TARGETARCH=amd64
ENV DEBIAN_FRONTEND=noninteractive
RUN |7 RUST_TOOLCHAIN=1.96.0 SCCACHE_VERSION=0.15.0 KACHE_VERSION=0.14.2 KACHE_SHA256_AMD64=8cc4a3eb1621268732c030b3c74bbf3066fae905e4ed0f27e32aeca836b3e95a KACHE_SHA256_ARM64=2892fd7d6243ec791879c5538691ddc501934ae8a70f5bdf497567eafcce1d39 PYTHON_VERSION=3.13 TARGETARCH=amd64 /bin/sh -c printf 'Acquire::ForceIPv4 "true";\n' > /etc/apt/apt.conf.d/99force-ipv4 && apt-get update && apt-get install -y --no-install-recommends build-essential ca-certificates cmake curl git jq libssl-dev lsb-release maven pkg-config software-properties-common sudo unzip wget zip libbz2-dev libffi-dev liblzma-dev libncurses-dev libreadline-dev libsqlite3-dev zlib1g-dev && rm -rf /var/lib/apt/lists/* # buildkit
RUN |7 RUST_TOOLCHAIN=1.96.0 SCCACHE_VERSION=0.15.0 KACHE_VERSION=0.14.2 KACHE_SHA256_AMD64=8cc4a3eb1621268732c030b3c74bbf3066fae905e4ed0f27e32aeca836b3e95a KACHE_SHA256_ARM64=2892fd7d6243ec791879c5538691ddc501934ae8a70f5bdf497567eafcce1d39 PYTHON_VERSION=3.13 TARGETARCH=amd64 /bin/sh -c useradd -m -s /bin/bash runner && echo "runner ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/runner # buildkit
RUN |7 RUST_TOOLCHAIN=1.96.0 SCCACHE_VERSION=0.15.0 KACHE_VERSION=0.14.2 KACHE_SHA256_AMD64=8cc4a3eb1621268732c030b3c74bbf3066fae905e4ed0f27e32aeca836b3e95a KACHE_SHA256_ARM64=2892fd7d6243ec791879c5538691ddc501934ae8a70f5bdf497567eafcce1d39 PYTHON_VERSION=3.13 TARGETARCH=amd64 /bin/sh -c add-apt-repository ppa:deadsnakes/ppa -y && apt-get update && apt-get install -y --no-install-recommends python${PYTHON_VERSION} python${PYTHON_VERSION}-dev python${PYTHON_VERSION}-venv && rm -rf /var/lib/apt/lists/* && ln -sf /usr/bin/python${PYTHON_VERSION} /usr/local/bin/python3 && ln -sf /usr/bin/python${PYTHON_VERSION} /usr/local/bin/python # buildkit
RUN |7 RUST_TOOLCHAIN=1.96.0 SCCACHE_VERSION=0.15.0 KACHE_VERSION=0.14.2 KACHE_SHA256_AMD64=8cc4a3eb1621268732c030b3c74bbf3066fae905e4ed0f27e32aeca836b3e95a KACHE_SHA256_ARM64=2892fd7d6243ec791879c5538691ddc501934ae8a70f5bdf497567eafcce1d39 PYTHON_VERSION=3.13 TARGETARCH=amd64 /bin/sh -c curl -LsSf https://astral.sh/uv/install.sh | sh && mv /root/.local/bin/uv /usr/local/bin/uv && mv /root/.local/bin/uvx /usr/local/bin/uvx # buildkit
ENV AGENT_TOOLSDIRECTORY=/opt/hostedtoolcache
RUN |7 RUST_TOOLCHAIN=1.96.0 SCCACHE_VERSION=0.15.0 KACHE_VERSION=0.14.2 KACHE_SHA256_AMD64=8cc4a3eb1621268732c030b3c74bbf3066fae905e4ed0f27e32aeca836b3e95a KACHE_SHA256_ARM64=2892fd7d6243ec791879c5538691ddc501934ae8a70f5bdf497567eafcce1d39 PYTHON_VERSION=3.13 TARGETARCH=amd64 /bin/sh -c NODEARCH=$(case "$(uname -m)" in x86_64) echo x64;; aarch64) echo arm64;; *) echo x64;; esac) && for major in 20 22 24; do ver=$(curl -fsSL https://nodejs.org/dist/index.json | jq -r --arg m "v${major}." '[.[] | select(.version | startswith($m))][0].version' | sed 's/^v//'); dest="${AGENT_TOOLSDIRECTORY}/node/${ver}/${NODEARCH}"; mkdir -p "$dest"; curl -fsSL "https://nodejs.org/dist/v${ver}/node-v${ver}-linux-${NODEARCH}.tar.gz" | tar -xz --strip-components=1 -C "$dest"; touch "${AGENT_TOOLSDIRECTORY}/node/${ver}/${NODEARCH}.complete"; echo "seeded node ${ver} (${NODEARCH})"; done && latest=$(ls -1 "${AGENT_TOOLSDIRECTORY}/node" | sort -V | tail -1) && for b in node npm npx corepack; do ln -sf "${AGENT_TOOLSDIRECTORY}/node/${latest}/${NODEARCH}/bin/${b}" "/usr/local/bin/${b}"; done && chown -R runner:runner "${AGENT_TOOLSDIRECTORY}" && node --version && npm --version # buildkit
ARG BUN_VERSION=1.2.15
RUN |8 RUST_TOOLCHAIN=1.96.0 SCCACHE_VERSION=0.15.0 KACHE_VERSION=0.14.2 KACHE_SHA256_AMD64=8cc4a3eb1621268732c030b3c74bbf3066fae905e4ed0f27e32aeca836b3e95a KACHE_SHA256_ARM64=2892fd7d6243ec791879c5538691ddc501934ae8a70f5bdf497567eafcce1d39 PYTHON_VERSION=3.13 TARGETARCH=amd64 BUN_VERSION=1.2.15 /bin/sh -c BUNARCH=$(case "$(uname -m)" in x86_64) echo x64;; aarch64) echo aarch64;; *) echo x64;; esac) && curl -fsSL "https://github.com/oven-sh/bun/releases/download/bun-v${BUN_VERSION}/bun-linux-${BUNARCH}.zip" -o /tmp/bun.zip && unzip -q /tmp/bun.zip -d /tmp && install -m 0755 "/tmp/bun-linux-${BUNARCH}/bun" /usr/local/bin/bun && ln -sf /usr/local/bin/bun /usr/local/bin/bunx && rm -rf /tmp/bun.zip "/tmp/bun-linux-${BUNARCH}" && bun --version # buildkit
ARG DOTNET_CHANNEL=9.0
ENV DOTNET_ROOT=/usr/lib/dotnet DOTNET_INSTALL_DIR=/usr/lib/dotnet DOTNET_CLI_TELEMETRY_OPTOUT=1 DOTNET_NOLOGO=1
RUN |9 RUST_TOOLCHAIN=1.96.0 SCCACHE_VERSION=0.15.0 KACHE_VERSION=0.14.2 KACHE_SHA256_AMD64=8cc4a3eb1621268732c030b3c74bbf3066fae905e4ed0f27e32aeca836b3e95a KACHE_SHA256_ARM64=2892fd7d6243ec791879c5538691ddc501934ae8a70f5bdf497567eafcce1d39 PYTHON_VERSION=3.13 TARGETARCH=amd64 BUN_VERSION=1.2.15 DOTNET_CHANNEL=9.0 /bin/sh -c curl -fsSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh && bash /tmp/dotnet-install.sh --channel "${DOTNET_CHANNEL}" --install-dir "${DOTNET_ROOT}" && ln -sf "${DOTNET_ROOT}/dotnet" /usr/local/bin/dotnet && chown -R runner:runner "${DOTNET_ROOT}" && rm /tmp/dotnet-install.sh && dotnet --version # buildkit
USER runner
ENV RUSTUP_HOME=/home/runner/.rustup CARGO_HOME=/home/runner/.cargo
RUN |9 RUST_TOOLCHAIN=1.96.0 SCCACHE_VERSION=0.15.0 KACHE_VERSION=0.14.2 KACHE_SHA256_AMD64=8cc4a3eb1621268732c030b3c74bbf3066fae905e4ed0f27e32aeca836b3e95a KACHE_SHA256_ARM64=2892fd7d6243ec791879c5538691ddc501934ae8a70f5bdf497567eafcce1d39 PYTHON_VERSION=3.13 TARGETARCH=amd64 BUN_VERSION=1.2.15 DOTNET_CHANNEL=9.0 /bin/sh -c curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain ${RUST_TOOLCHAIN} --profile minimal --component rustfmt --component clippy # buildkit
ENV PATH=/home/runner/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
RUN |9 RUST_TOOLCHAIN=1.96.0 SCCACHE_VERSION=0.15.0 KACHE_VERSION=0.14.2 KACHE_SHA256_AMD64=8cc4a3eb1621268732c030b3c74bbf3066fae905e4ed0f27e32aeca836b3e95a KACHE_SHA256_ARM64=2892fd7d6243ec791879c5538691ddc501934ae8a70f5bdf497567eafcce1d39 PYTHON_VERSION=3.13 TARGETARCH=amd64 BUN_VERSION=1.2.15 DOTNET_CHANNEL=9.0 /bin/sh -c ARCH=$(case "$(uname -m)" in x86_64) echo x86_64;; aarch64) echo aarch64;; *) exit 1;; esac) && EXPECTED=$(case "$ARCH" in x86_64) echo "${KACHE_SHA256_AMD64}";; aarch64) echo "${KACHE_SHA256_ARM64}";; esac) && curl -fsSL "https://github.com/kunobi-ninja/kache/releases/download/v${KACHE_VERSION}/kache-${ARCH}-unknown-linux-musl.tar.gz" -o /tmp/kache.tar.gz && printf '%s %s\n' "$EXPECTED" /tmp/kache.tar.gz | sha256sum -c - && tar -xzf /tmp/kache.tar.gz -C /tmp kache && sudo install -m 0755 /tmp/kache /usr/local/bin/kache && rm -f /tmp/kache /tmp/kache.tar.gz && kache --version | grep -Fx "kache ${KACHE_VERSION}" # buildkit
COPY kache-ci.toml /etc/kache/ci.toml # buildkit
COPY --chmod=0755 kache-target.sh /usr/local/bin/forgejo-kache-target # buildkit
RUN |9 RUST_TOOLCHAIN=1.96.0 SCCACHE_VERSION=0.15.0 KACHE_VERSION=0.14.2 KACHE_SHA256_AMD64=8cc4a3eb1621268732c030b3c74bbf3066fae905e4ed0f27e32aeca836b3e95a KACHE_SHA256_ARM64=2892fd7d6243ec791879c5538691ddc501934ae8a70f5bdf497567eafcce1d39 PYTHON_VERSION=3.13 TARGETARCH=amd64 BUN_VERSION=1.2.15 DOTNET_CHANNEL=9.0 /bin/sh -c ARCH=$(case "$(uname -m)" in x86_64) echo x86_64;; aarch64) echo aarch64;; *) echo x86_64;; esac) && curl -fsSL "https://github.com/mozilla/sccache/releases/download/v${SCCACHE_VERSION}/sccache-v${SCCACHE_VERSION}-${ARCH}-unknown-linux-musl.tar.gz" | tar -xz -C /tmp && sudo install -m 0755 "/tmp/sccache-v${SCCACHE_VERSION}-${ARCH}-unknown-linux-musl/sccache" /usr/local/bin/sccache && rm -rf "/tmp/sccache-v${SCCACHE_VERSION}-${ARCH}-unknown-linux-musl" && sccache --version # buildkit
ENV RUSTC_WRAPPER=kache KACHE_CONFIG=/etc/kache/ci.toml
ENV UV_CACHE_DIR=/cache/uv
USER root
RUN |9 RUST_TOOLCHAIN=1.96.0 SCCACHE_VERSION=0.15.0 KACHE_VERSION=0.14.2 KACHE_SHA256_AMD64=8cc4a3eb1621268732c030b3c74bbf3066fae905e4ed0f27e32aeca836b3e95a KACHE_SHA256_ARM64=2892fd7d6243ec791879c5538691ddc501934ae8a70f5bdf497567eafcce1d39 PYTHON_VERSION=3.13 TARGETARCH=amd64 BUN_VERSION=1.2.15 DOTNET_CHANNEL=9.0 /bin/sh -c mkdir -p -m 755 /etc/apt/keyrings && curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list && apt-get update && apt-get install -y --no-install-recommends gh && rm -rf /var/lib/apt/lists/* && gh --version # buildkit

Labels

Key Value
org.opencontainers.image.version 24.04
Details
Container
2026-08-15 14:23:16 +00:00
2
OCI / Docker
linux/amd64
986 MiB
Versions (2) View all
rust-1.96 2026-08-12