# Cloud runner image. Ubuntu 24.04 so `runs-on: ubuntu-latest` workflows behave like they do on GitHub: # apt package names, PPAs via add-apt-repository, and build tools are what those workflows expect. FROM node:24-bookworm AS node FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt-get install -y --no-install-recommends \ git ca-certificates curl wget unzip zip xz-utils jq coreutils sudo gnupg lsb-release \ software-properties-common build-essential python3 python3-pip python3-venv \ && rm -rf /var/lib/apt/lists/* COPY --from=node /usr/local/bin/node /usr/local/bin/node COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules RUN ln -s ../lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm \ && ln -s ../lib/node_modules/npm/bin/npx-cli.js /usr/local/bin/npx \ && ln -s ../lib/node_modules/corepack/dist/corepack.js /usr/local/bin/corepack \ && node --version && npm --version RUN curl -fsSL https://bun.sh/install | bash && ln -s /root/.bun/bin/bun /usr/local/bin/bun WORKDIR /workspace CMD ["sleep", "infinity"]