Update CI dockerfile to use newer podman
Some checks failed
CI/CD Pipeline with Secure Ephemeral PiP / test-backend (push) Failing after 38s
CI/CD Pipeline with Secure Ephemeral PiP / test-frontend (push) Has been skipped
CI/CD Pipeline with Secure Ephemeral PiP / build-backend (push) Has been skipped
CI/CD Pipeline with Secure Ephemeral PiP / build-frontend (push) Has been skipped
CI/CD Pipeline with Secure Ephemeral PiP / deploy-prod (push) Has been skipped

This commit is contained in:
continuist 2025-09-12 15:32:01 -04:00
parent 3b0f92b8cf
commit 9cb7b6a5a2

View file

@ -1,28 +1,24 @@
# Dockerfile.ci-node-podman
ARG CI_IMAGE_REV=1
FROM node:20-bookworm-slim FROM node:20-bookworm-slim
# Tools needed at runtime by actions and your scripts # Essentials for CI steps
# - git: actions/checkout uses it
# - curl, ca-certificates: handy for health checks, etc.
# - jq: used in your scripts
# Then add the libcontainers repo to get a recent Podman (v5.x).
RUN set -eux; \ RUN set -eux; \
apt-get update; \ apt-get update; \
apt-get install -y --no-install-recommends \ apt-get install -y --no-install-recommends ca-certificates curl git jq; \
ca-certificates curl git gnupg jq; \ rm -rf /var/lib/apt/lists/*
. /etc/os-release; \
echo "deb [signed-by=/usr/share/keyrings/libcontainers-archive-keyring.gpg] \
https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_${VERSION_ID}/ /" \
> /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list; \
curl -fsSL \
"https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_${VERSION_ID}/Release.key" \
| gpg --dearmor -o /usr/share/keyrings/libcontainers-archive-keyring.gpg; \
apt-get update; \
apt-get install -y --no-install-recommends podman; \
apt-get purge -y gnupg; \
rm -rf /var/lib/apt/lists/*
# These match your runners rootless socket layout # Install a recent podman-remote (static binary), and alias it as "podman"
ARG PODMAN_REMOTE_VERSION=5.2.3
RUN set -eux; \
arch="$(dpkg --print-architecture)"; case "$arch" in \
amd64) goarch=amd64;; arm64) goarch=arm64;; \
*) echo "unsupported arch: $arch"; exit 1;; \
esac; \
curl -fsSL -o /tmp/podman-remote.tgz \
"https://github.com/containers/podman/releases/download/v${PODMAN_REMOTE_VERSION}/podman-remote-static-linux_${goarch}.tar.gz"; \
tar -C /usr/local/bin -xzf /tmp/podman-remote.tgz podman-remote; \
ln -s /usr/local/bin/podman-remote /usr/local/bin/podman; \
/usr/local/bin/podman --version
# Defaults that make the client talk to your hosts rootless socket
ENV XDG_RUNTIME_DIR=/run/user/999 ENV XDG_RUNTIME_DIR=/run/user/999
ENV CONTAINER_HOST=unix:///run/user/999/podman/podman.sock ENV CONTAINER_HOST=unix:///run/user/999/podman/podman.sock