images/act_runtime/Dockerfile

59 lines
2.1 KiB
Text
Raw Normal View History

2024-05-15 14:38:48 +00:00
# syntax=docker/dockerfile:1
ARG BASE_IMAGE=node:23-bookworm-slim
2023-11-16 17:49:44 +00:00
FROM ${BASE_IMAGE}
2023-12-22 22:36:40 +00:00
ARG LLVM_VERSION=16
ARG TARGETARCH
2023-12-22 22:36:40 +00:00
2024-05-15 14:38:48 +00:00
# common tools
2023-11-16 17:49:44 +00:00
RUN --mount=type=cache,target=/var/lib/apt \
--mount=type=cache,target=/var/lib/cache \
2024-05-15 14:38:48 +00:00
--mount=type=cache,target=/var/cache/apt \
2023-11-16 17:49:44 +00:00
apt-get update && \
2023-12-22 09:24:56 +00:00
apt-get install -y \
2024-11-28 12:10:35 +00:00
sudo \
git-lfs \
ca-certificates \
curl \
jq \
gnupg \
gcc \
clang-${LLVM_VERSION} \
llvm-${LLVM_VERSION} \
libbpf-dev \
make \
unzip \
libgraphite2-3 \
zstd && \
2023-12-22 18:34:22 +00:00
ln -s /usr/lib/llvm-${LLVM_VERSION}/bin/clang /usr/bin/clang && \
2024-05-15 14:38:48 +00:00
ln -s -f /usr/lib/llvm-${LLVM_VERSION}/bin/llc /usr/bin/
ADD --chmod=444 https://cli.github.com/packages/githubcli-archive-keyring.gpg /etc/apt/keyrings/githubcli-archive-keyring.gpg
ADD --chmod=444 https://download.docker.com/linux/debian/gpg /etc/apt/keyrings/docker.asc
# Docker and other tools
RUN --mount=type=cache,target=/var/lib/apt \
--mount=type=cache,target=/var/lib/cache \
--mount=type=cache,target=/var/cache/apt \
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 && \
2023-11-16 17:49:44 +00:00
echo \
2024-11-28 12:10:35 +00:00
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list && \
2023-11-16 17:49:44 +00:00
apt-get update && \
2024-05-15 14:38:48 +00:00
apt-get install -y \
2024-11-28 12:10:35 +00:00
gh \
docker-ce docker-ce-cli containerd.io docker-buildx-plugin
# AWS CLI
RUN --mount=type=cache,target=/tmp \
if [ "${TARGETARCH}" = "amd64" ]; then \
curl -o "/tmp/awscliv2.zip" "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip"; \
elif [ "${TARGETARCH}" = "arm64" ]; then \
curl -o "/tmp/awscliv2.zip" "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip"; \
else \
echo "Unsupported architecture: ${TARGETARCH}"; \
exit 1; \
fi && \
unzip -o /tmp/awscliv2.zip -d /tmp && \
2024-11-28 12:10:35 +00:00
/tmp/aws/install