bootc-dev / bootc-dev/bootc

Composefs mismatch when built with buildah Github action, but not when built locally via podman

Aperta
#2,194 9 commenti 0 reazioni 0 assegnatari Vedi su GitHub
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.