Skip to content

Move CI to ubuntu-26.04; build COPY-heredoc README sample unconditionally - #5

Open
Andrei-Errapart wants to merge 1 commit into
mainfrom
heredoc-buildah-version
Open

Andrei-Errapart wants to merge 1 commit into
mainfrom
heredoc-buildah-version

Conversation

@Andrei-Errapart

@Andrei-Errapart Andrei-Errapart commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

Background

PR #4 treated the COPY <<EOF here-document failure under Podman as an engine
limitation and made tests/0029 skip the installer sample under Podman.
Upgrading a dev box to Debian 13 (trixie) disproved that — it's only a
Buildah-version gap:

Builder COPY <<EOF
Docker / BuildKit ✅ always
Buildah 1.28.2 (Debian 12) / 1.33 (Podman 4.9.3, Ubuntu 24.04)
Buildah ≥ 1.39 (Podman 5.x; Debian 13 trixie, ubuntu-26.04)

Change

  • Drop the engine probe/skip code; build the installer sample
    unconditionally (engine-aware cleanup retained).
  • Both CI jobs → ubuntu-26.04 (Podman 5.7 / Buildah 1.42), so the heredoc
    sample builds under Podman too.
  • DNS workaround for the Podman job. On ubuntu-26.04 the host resolver is
    the systemd-resolved stub (127.0.0.53), which isn't reachable from inside a
    Podman build container's netns — so apt-get/apk in a podman build fail
    with Temporary failure resolving … (24.04 / Podman 4.9 didn't hit this). The
    job writes a containers.conf.d drop-in pointing build containers at public
    resolvers (1.1.1.1 / 8.8.8.8). run-dockerfile never injects --dns; this is
    a runner-environment quirk.
  • README keeps an engine note for users on an older Podman/Buildah (use a
    sibling-file COPY); CLAUDE.md documents the Buildah-version gap and the DNS
    drop-in.

Verification

  • Locally (trixie / Podman 5.4.2): 0029 builds the heredoc sample under Docker
    and rootful Podman; the dns_servers drop-in propagates into podman build
    containers (/etc/resolv.conf1.1.1.1).
  • CI (this PR) runs the whole suite on ubuntu-26.04 — the authoritative check for
    the runner move + DNS fix, including the heredoc sample under Podman 5.7.

Supersedes the probe approach; follow-up to #4.

@Andrei-Errapart
Andrei-Errapart force-pushed the heredoc-buildah-version branch from 7fa9e32 to afccd30 Compare June 26, 2026 16:42
@Andrei-Errapart Andrei-Errapart changed the title Probe builder for COPY-heredoc support instead of skipping all Podman Move CI to ubuntu-26.04; build COPY-heredoc README sample unconditionally Jun 26, 2026
…ally

The Podman support work treated the `COPY <<EOF` here-document failure as
engine-specific and made tests/0029 skip the installer sample under
Podman. A dev-box upgrade to Debian 13 (trixie) showed it is only a
Buildah-version gap: Buildah ≥ 1.39 (Podman 5.x) builds COPY
here-documents fine; the failure is limited to older Buildah (1.28.2, and
the 1.33 in Podman 4.9.3 / Ubuntu 24.04).

So drop the engine-detection/skip code, build the installer sample
unconditionally, and move both CI jobs to ubuntu-26.04 (Podman 5.7 /
Buildah 1.42).

ubuntu-26.04's host resolver is the systemd-resolved stub (127.0.0.53),
which is unreachable from inside a Podman build container's network
namespace, so apt-get/apk inside `podman build` fail with "Temporary
failure resolving ..." (ubuntu-24.04 / Podman 4.9 did not hit this). The
Podman job writes a containers.conf.d drop-in pointing build containers at
public resolvers (1.1.1.1 / 8.8.8.8). run-dockerfile never injects --dns;
this is a runner-environment quirk, documented in CLAUDE.md.

README keeps an engine note telling users on an older Podman/Buildah to
COPY the expect script from a sibling file. Verified locally: 0029 builds
the heredoc sample under Docker and rootful Podman / Buildah 1.39.3, and
the dns_servers drop-in propagates into podman build containers.
@Andrei-Errapart
Andrei-Errapart force-pushed the heredoc-buildah-version branch from afccd30 to 3733db0 Compare June 26, 2026 17:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant