2640d09cb5
Switch the act_runners from :host execution to docker:// images backed by a rootless podman socket under the gitea-runner user, so each job runs in its own ephemeral container with per-job Go caches. This eliminates the cross-repo GOMODCACHE/go-build poisoning that forced the debyl runner to capacity:1. - deps.yml: enable the rootless --user podman.socket, ensure subuid/subgid, register gitea_runner_uid; drop the rootful system socket override, podman-docker and host golang - images.yml + Containerfile.ci/.espidf: build localhost/gitea-ci and localhost/gitea-ci-espidf into the runner's rootless image store - config.yaml.j2: docker:// labels (per-runner overridable), docker_host -> rootless socket, force_pull false - act_runner.service.j2: XDG_RUNTIME_DIR + DOCKER_HOST -> user socket - defaults: uniform capacity:4 (drop the debyl capacity:1 workaround); esp_idf_version now tags the espressif/idf-based image - main.yml: import images.yml, drop the host esp-idf install (firmware jobs use the espressif/idf job container instead) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
25 lines
1.1 KiB
Docker
25 lines
1.1 KiB
Docker
# Default Gitea Actions job image (managed by ansible: roles/gitea-actions).
|
|
# Covers Go/web/node jobs plus `docker build` (talks to the mounted rootless
|
|
# podman socket). Go toolchains are provided per-job by actions/setup-go.
|
|
FROM node:20-bookworm-slim
|
|
|
|
ARG DOCKER_CLI_VERSION=27.3.1
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates curl git openssh-client make build-essential \
|
|
python3 python3-pip jq unzip \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Static docker client (no daemon) for jobs that run `docker build` against the
|
|
# mounted podman socket (/var/run/docker.sock).
|
|
RUN curl -fsSL "https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_CLI_VERSION}.tgz" \
|
|
| tar -xz -C /tmp \
|
|
&& install -m0755 /tmp/docker/docker /usr/local/bin/docker \
|
|
&& rm -rf /tmp/docker
|
|
|
|
# AWS CLI v2 — several workflows upload artifacts / deploy Lambda.
|
|
RUN curl -fsSL "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o /tmp/awscliv2.zip \
|
|
&& unzip -q /tmp/awscliv2.zip -d /tmp \
|
|
&& /tmp/aws/install \
|
|
&& rm -rf /tmp/aws /tmp/awscliv2.zip
|