Composefs mismatch when built with buildah Github action, but not when built locally via podman
- Lingua principale
- Rust
- Stelle
- 2.3k
- Fork
- 230
- Merge medio
- 3g 3h
- PR unite (30g)
- 36
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia riproducendo la discrepanza con la build di GitHub Actions collegata e la build locale di Podman, quindi esegui il comando mostrato `bootc install to-filesystem` e confronta l’output relativo a composefs nel log collegato. Segui il punto di ingresso di `bootc install to-filesystem` e identifica perché le due build dell’immagine producono metadati composefs differenti. Il lavoro è completato quando l’immagine costruita dall’action viene installata correttamente oppure la differenza viene diagnosticata con un test di regressione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- arch-linux, github-actions, rust
- Ambito
- ci-cd, operating-systems
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100