5f0ddc1901
Actions: checkout, setup-go, setup-node, setup-aws Runner image: Go 1.26 + Node 22 + AWS CLI + Docker (docker:29-dind)
37 lines
998 B
Docker
37 lines
998 B
Docker
# Tinqs CI Runner Base Image
|
|
# Pre-installed: Go, Node.js, AWS CLI, Docker CLI, git, ssh, curl
|
|
# Used by act_runner with runs-on: host (no per-job install overhead)
|
|
|
|
FROM docker:29-dind
|
|
|
|
ARG GO_VERSION=1.26.2
|
|
ARG NODE_VERSION=22
|
|
|
|
# System packages
|
|
RUN apk add --no-cache \
|
|
bash git curl wget unzip tar \
|
|
ca-certificates openssh-client \
|
|
build-base python3 \
|
|
s6 tzdata
|
|
|
|
# Go
|
|
RUN curl -fsSL "https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar -C /usr/local -xz
|
|
ENV PATH="/usr/local/go/bin:${PATH}"
|
|
ENV GOPATH="/go"
|
|
ENV PATH="${GOPATH}/bin:${PATH}"
|
|
|
|
# Node.js + pnpm
|
|
RUN apk add --no-cache nodejs npm && \
|
|
npm install -g pnpm
|
|
|
|
# AWS CLI
|
|
RUN curl -fsSL https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip -o /tmp/awscli.zip && \
|
|
unzip -q /tmp/awscli.zip -d /tmp && \
|
|
/tmp/aws/install && \
|
|
rm -rf /tmp/awscli.zip /tmp/aws
|
|
|
|
# Verify
|
|
RUN go version && node --version && pnpm --version && aws --version && docker --version && git --version
|
|
|
|
WORKDIR /workspace
|