Skip to content

Commit c821376

Browse files
committed
the podman repair replaces the apt pasta too and probes the rootless half
1 parent 5718dd8 commit c821376

1 file changed

Lines changed: 22 additions & 13 deletions

File tree

‎.github/actions/install-boot/action.yml‎

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -90,26 +90,35 @@ runs:
9090
HOMEBREW_NO_AUTO_UPDATE=1 brew install podman
9191
sudo ln -sf "$(command -v podman)" /usr/local/bin/podman
9292
echo "podman version now: $(podman --version)"
93-
# The poured podman brings a matching crun, but linking podman
94-
# alone left the repair running the apt crun: rootful podman
95-
# resolves its runtime from a fixed path list that reads
96-
# /usr/bin/crun before anywhere brew pours, and sudo's PATH never
97-
# reaches the brew prefix either. The apt crun 0.17 rejects the
98-
# OCI spec the new podman writes ("crun: unknown version
99-
# specified", measured 2026-09-04), and the install would hit the
100-
# same wall at its first rootful run. So the repair replaces the
101-
# old crun where the list looks first, like the podman above.
102-
[ -x "$(command -v crun)" ] \
103-
|| { echo "brew poured podman but no crun came with it" >&2; exit 1; }
104-
sudo ln -sf "$(command -v crun)" /usr/bin/crun
105-
echo "crun now at: $(readlink /usr/bin/crun)"
93+
# The poured podman brings matching helpers, but linking podman
94+
# alone left the repair running the apt ones: podman resolves
95+
# crun and pasta from fixed path lists that read /usr/bin before
96+
# anywhere brew pours, and sudo's PATH never reaches the brew
97+
# prefix either. The apt crun 0.17 rejected the OCI spec the new
98+
# podman writes ("crun: unknown version specified") and the apt
99+
# pasta rejected its --map-guest-addr ("pasta failed with exit
100+
# code 1"), both measured 2026-09-04, each wall costing a run.
101+
# So the repair replaces the old helpers where the lists look
102+
# first, like the podman above. conmon is shadowed the same way
103+
# but the apt one starts containers fine, so it is left alone.
104+
for helper in crun pasta; do
105+
[ -x "$(command -v "$helper")" ] \
106+
|| { echo "brew poured podman but no $helper came with it" >&2; exit 1; }
107+
sudo ln -sf "$(command -v "$helper")" "/usr/bin/$helper"
108+
echo "$helper now at: $(readlink "/usr/bin/$helper")"
109+
done
106110
# A new podman that cannot run as root would fail the install
107111
# twenty minutes in at the same COPY. Running a container as root
108112
# here costs seconds, exercises the store, the runtime and the
109113
# mount the build needs, and would name the real problem. Network
110114
# is left out on purpose: the install's build has no RUN step,
111115
# and the runner's own network stack is already known noise.
112116
sudo "$(command -v podman)" run --rm --network none quay.io/podman/hello >/dev/null
117+
# The image build this prelude feeds runs podman as the runner
118+
# user, where the default network is pasta and a shadowed pasta
119+
# dies at the first run whatever the crun does. A rootless run
120+
# here exercises that half for the same seconds.
121+
"$(command -v podman)" run --rm --network pasta quay.io/podman/hello >/dev/null
113122
114123
- uses: ./.github/actions/kvm
115124
with:

0 commit comments

Comments
 (0)