FROM bitnami/minideb:bullseye as bun-base RUN install_packages ca-certificates curl wget lsb-release software-properties-common gnupg gnupg1 gnupg2 RUN wget https://apt.llvm.org/llvm.sh && \ chmod +x llvm.sh && \ ./llvm.sh 13 RUN install_packages \ cmake \ curl \ file \ git \ gnupg \ libc-dev \ libxml2 \ libxml2-dev \ make \ ninja-build \ perl \ python3 \ rsync \ ruby \ unzip \ bash tar gzip ENV CXX=clang++-13 ENV CC=clang-13 RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \ install_packages nodejs && \ npm install -g esbuild ARG DEBIAN_FRONTEND=noninteractive ARG GITHUB_WORKSPACE=/build # Directory extracts to "bun-webkit" ARG WEBKIT_DIR=${GITHUB_WORKSPACE}/bun-webkit ARG BUN_RELEASE_DIR=${GITHUB_WORKSPACE}/bun-release ARG BUN_DEPS_OUT_DIR=${GITHUB_WORKSPACE}/bun-deps ARG BUN_DIR=${GITHUB_WORKSPACE}/bun ARG BUILDARCH=amd64 ARG ZIG_PATH=${GITHUB_WORKSPACE}/zig ENV WEBKIT_OUT_DIR=${WEBKIT_DIR} ENV BUILDARCH=${BUILDARCH} ENV AR=/usr/bin/llvm-ar-13 ENV ZIG "${ZIG_PATH}/zig" ENV PATH="$ZIG/bin:$PATH" ENV LD=lld-13 RUN mkdir -p $BUN_DIR $BUN_DEPS_OUT_DIR FROM bun-base as bun-base-with-zig-and-webkit WORKDIR $GITHUB_WORKSPACE RUN curl -o zig-linux-$BUILDARCH.zip -L https://github.com/Jarred-Sumner/zig/releases/download/jul1/zig-linux-$BUILDARCH.zip && \ unzip zig-linux-$BUILDARCH.zip && \ rm zig-linux-$BUILDARCH.zip; RUN mkdir -p $WEBKIT_OUT_DIR && cd $WEBKIT_OUT_DIR && cd ../ && \ curl -o bun-webkit-linux-$BUILDARCH.tar.gz -L https://github.com/oven-sh/WebKit/releases/download/jul4-2/bun-webkit-linux-$BUILDARCH.tar.gz && \ tar -xvzf bun-webkit-linux-$BUILDARCH.tar.gz && \ ls && \ echo $(pwd) && \ rm bun-webkit-linux-$BUILDARCH.tar.gz && \ cat $WEBKIT_OUT_DIR/include/cmakeconfig.h > /dev/null LABEL org.opencontainers.image.title="bun base image with zig & webkit ${BUILDARCH} (glibc)" LABEL org.opencontainers.image.source=https://github.com/jarred-sumner/bun