# 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"]