FROM ubuntu:24.04
ARG GO_VERSION=1.27.1
ARG NODE_VERSION=24.16.0
ENV DEBIAN_FRONTEND=noninteractive
# Chromium 的系統依賴與字型和 scripts/chromium-deps.sh 同一份清單；沒有字型 Chromium 會當掉
RUN apt-get update -qq && apt-get install -y -qq --no-install-recommends \
      ca-certificates curl git make xz-utils python3 \
      libcups2t64 libxres1 libavahi-client3 libavahi-common3 libasound2t64 libatk1.0-0t64 libatk-bridge2.0-0t64 libatspi2.0-0t64 libcairo2 libdrm2 libgbm1 \
      libnspr4 libnss3 libpango-1.0-0 libxcomposite1 libxdamage1 libxfixes3 libxkbcommon0 libxrandr2 \
      libfontconfig1 libfreetype6 libfribidi0 libharfbuzz0b libpixman-1-0 libpng16-16t64 libthai0 \
      libxcb-render0 libxcb-shm0 libxi6 libxrender1 libdatrie1 libgraphite2-3 \
      fonts-dejavu-core fonts-wqy-microhei \
 && rm -rf /var/lib/apt/lists/*
RUN curl -fsSL "https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar -xz -C /usr/local \
 && curl -fsSL "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz" | tar -xJ -C /usr/local --strip-components=1
ENV PATH=/usr/local/go/bin:$PATH GOFLAGS=-buildvcs=false
# 入口腳本不放進映像檔：runner 會重用同一個動作目錄的舊映像檔，改了腳本不會重建；從掛進來的 workspace 執行，永遠是最新的
ENTRYPOINT ["/bin/bash", "-c", "exec bash \"$GITHUB_WORKSPACE/.gitea/actions/ci-env/entrypoint.sh\" \"$@\"", "--"]
