Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vendor: update buildkit to 0.19.0 #224

Merged
merged 2 commits into from
Jan 29, 2025

Conversation

crazy-max
Copy link
Collaborator

@crazy-max crazy-max commented Jan 26, 2025

needs or closes #220

@crazy-max
Copy link
Collaborator Author

crazy-max commented Jan 26, 2025

A bunch of platforms are missing in "supported": https://github.com/tonistiigi/binfmt/actions/runs/12974720699/job/36184946891#step:5:260

++ docker run --rm --privileged tonistiigi/binfmt:test --install all
installing: arm OK
installing: ppc64le OK
installing: mips64 OK
installing: s390x OK
installing: riscv64 OK
installing: mips64le OK
installing: loong64 OK
installing: arm64 OK
+ status='{
  "supported": [
    "linux/amd64",
    "linux/amd64/v2",
    "linux/amd64/v3",
    "linux/386"
  ],
  "emulators": [
    "llvm-16-runtime.binfmt",
    "llvm-17-runtime.binfmt",
    "llvm-18-runtime.binfmt",
    "python3.12",
    "qemu-aarch64",
    "qemu-arm",
    "qemu-loongarch64",
    "qemu-mips64",
    "qemu-mips64el",
    "qemu-ppc64le",
    "qemu-riscv64",
    "qemu-s390x"
  ]
}'
+ echo '{' '"supported":' '[' '"linux/amd64",' '"linux/amd64/v2",' '"linux/amd64/v3",' '"linux/386"' '],' '"emulators":' '[' '"llvm-16-runtime.binfmt",' '"llvm-17-runtime.binfmt",' '"llvm-18-runtime.binfmt",' '"python3.12",' '"qemu-aarch64",' '"qemu-arm",' '"qemu-loongarch64",' '"qemu-mips64",' '"qemu-mips64el",' '"qemu-ppc64le",' '"qemu-riscv64",' '"qemu-s390x"' ']' '}'
+ jq .supported
+ grep linux/arm64

Might relate to latest containerd/platforms or archutil changes.

@crazy-max
Copy link
Collaborator Author

crazy-max commented Jan 26, 2025

Seems running a second time to show status again works:

docker run --privileged --rm tonistiigi/binfmt:test --install all
installing: arm OK
installing: s390x OK
installing: ppc64le OK
installing: mips64le OK
installing: mips64 OK
installing: loong64 OK
installing: riscv64 OK
installing: arm64 OK
{
  "supported": [
    "linux/amd64",
    "linux/amd64/v2",
    "linux/amd64/v3",
    "linux/386"
  ],
  "emulators": [
    "qemu-aarch64",
    "qemu-arm",
    "qemu-loongarch64",
    "qemu-mips64",
    "qemu-mips64el",
    "qemu-ppc64le",
    "qemu-riscv64",
    "qemu-s390x"
  ]
}
docker run --privileged --rm tonistiigi/binfmt:test
{
  "supported": [
    "linux/amd64",
    "linux/amd64/v2",
    "linux/amd64/v3",
    "linux/arm64",
    "linux/riscv64",
    "linux/ppc64le",
    "linux/s390x",
    "linux/386",
    "linux/loong64",
    "linux/arm/v7",
    "linux/arm/v6"
  ],
  "emulators": [
    "qemu-aarch64",
    "qemu-arm",
    "qemu-loongarch64",
    "qemu-mips64",
    "qemu-mips64el",
    "qemu-ppc64le",
    "qemu-riscv64",
    "qemu-s390x"
  ]
}

This might be a sync issue when mounting binfmt_misc:

binfmt/cmd/binfmt/main.go

Lines 198 to 203 in 85908cc

if _, err := os.Stat(filepath.Join(mount, "status")); err != nil {
if err := syscall.Mount("binfmt_misc", mount, "binfmt_misc", 0, ""); err != nil {
return errors.Wrapf(err, "cannot mount binfmt_misc filesystem at %s", mount)
}
defer syscall.Unmount(mount, 0)
}

@crazy-max
Copy link
Collaborator Author

Seems to be a cache issue with archutil.SupportedPlatforms

@crazy-max crazy-max requested a review from tonistiigi January 26, 2025 16:11
@crazy-max crazy-max marked this pull request as ready for review January 26, 2025 16:11
@tonistiigi tonistiigi merged commit 0f5a010 into tonistiigi:master Jan 29, 2025
20 checks passed
@crazy-max crazy-max deleted the buildkit-0.19.0 branch January 29, 2025 17:33
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.

2 participants