Composefs mismatch when built with buildah Github action, but not when built locally via podman
- Vorherrschende Sprache
- Rust
- Sterne
- 2.3k
- Forks
- 230
- Ø Merge
- 3 T. 3 Std.
- Gemergte PRs (30 T.)
- 36
Beschreibung
Hi,
an experimental proof-of-concept build pipeline of a sealed arch-bootc image fails with a composefs mismatch, when I try to install it to filesystem. Repo with build pipeline via Github action and usage of buildah-build: https://github.com/PhysicsIsAwesome/arch-bootc-sealed
Updating bootc-dev-actions/bootc-ubuntu-setup@main to get packages from the latest Ubuntu 26.04 did not help.
Surprisingly, if I build the same containerfiles locally with podman on Arch, writing it to filesystem works without issues.
Justfile for writing to filesystem:
```Justfile
write-to-fs $image_name="ghcr.io/physicsisawesome/arch-bootc-sealed":
#!/usr/bin/env bash
umount /mnt/archbootc/boot || echo "not mounted"
umount /mnt/archbootc || echo "not mounted"
cryptsetup open /dev/vdc2 my-luks
mount -o subvol=@ /dev/mapper/my-luks /mnt/archbootc
mkdir /mnt/archbootc/boot
mount /dev/vdc1 /mnt/archbootc/boot
rm -rf /mnt/archbootc/ || echo "ok"
podman pull ${image_name}
podman run --rm --privileged --pid=host -v /:/target -v /dev:/dev -v /var/lib/containers:/var/lib/containers -e RUST_LOG=debug ${image_name} bootc install to-filesystem --composefs-backend --bootloader systemd --boot-mount-spec UUID=A775-A613 /target/mnt/archbootc
umount /mnt/archbootc/boot
umount /mnt/archbootc
```
Log for `write-to-fs`: https://pastebin.com/ebM6brJ7
Beitragsleitfaden
Rechercherichtung
Beginne damit, die Abweichung mit dem verlinkten GitHub Actions-Build und dem lokalen Podman-Build zu reproduzieren, führe dann den gezeigten Befehl `bootc install to-filesystem` aus und vergleiche die composefs-bezogenen Ausgaben im verlinkten Log. Verfolge den Einstiegspunkt von `bootc install to-filesystem` und ermittle, warum die beiden Image-Builds unterschiedliche composefs-Metadaten erzeugen. Als erledigt gilt die Aufgabe, wenn das vom Action-Build erstellte Image erfolgreich installiert wird oder der Unterschied mit einem Regressionstest diagnostiziert ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- arch-linux, github-actions, rust
- Bereich
- ci-cd, operating-systems
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100