fix(ci): isolate agent smoke in namespace-capable helper
quality / changes (push) Successful in 6s
quality / commitlint (push) Skipped
quality / openapi (push) Successful in 27s
quality / web (push) Successful in 49s
quality / api (push) Successful in 1m13s
quality / linux-agent-smoke (push) Failing after 1m31s
quality / docker-check (push) Failing after 4m11s
CD / quality (push) Failing after 8m19s
CD / publish (push) Skipped

This commit is contained in:
Denozordec committed 2026-10-26 13:23:24 +07:00
1 parent 9fa6269174
commit a37ffdf061
7 files changed
+133 -6

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
FROM debian:bookworm-slim
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
bash ca-certificates coreutils curl iproute2 ipset iptables netbase nftables python3 util-linux \
&& rm -rf /var/lib/apt/lists/*
# The harness masks /etc. Debian's public xtables links normally traverse
# /etc/alternatives, so resolve them while that directory is still visible.
RUN set -eu; for tool in iptables iptables-save iptables-restore ip6tables ip6tables-save ip6tables-restore; do \
binary="$(readlink -f "$(command -v "$tool")")"; \
test -x "$binary"; \
case "$binary" in /etc/*) exit 1;; esac; \
ln -sf "$binary" "/usr/sbin/$tool"; \
test "$(readlink -f "/usr/sbin/$tool")" = "$binary"; \
done
WORKDIR /work
# Public protocol/service name databases only; never copy the runner's /etc.
RUN mkdir helper-etc && cp /etc/protocols /etc/services helper-etc/
# COPY makes this work with a remote Docker daemon; no runner path is mounted.
COPY apps/api/src/agent-scripts/evofw-firewall.sh apps/api/src/agent-scripts/evofw-firewall.sh
COPY scripts/ci/linux-netns-smoke.sh scripts/ci/linux-agent-fixture.py scripts/ci/linux-agent-fixture.test.py scripts/ci/linux-agent-container-entry.sh scripts/ci/
RUN bash -n scripts/ci/linux-netns-smoke.sh scripts/ci/linux-agent-container-entry.sh \
&& python3 -B scripts/ci/linux-agent-fixture.test.py
ENTRYPOINT ["bash", "scripts/ci/linux-agent-container-entry.sh"]