Skip to content

Conversation

@crazy-max
Copy link
Member

Minimal provenance for multi-platform builds are currently not set in the metadata output. We should first check ev.Record.Results is set instead of ev.Record.Result.

Before:

$ docker buildx b --platform linux/amd64,linux/arm64 --metadata-file metadata.json -<<<'from alpine'
#0 building with "default" instance using docker driver
...
#8 resolving provenance for metadata file
#8 DONE 0.0s

$ cat metadata.json 
{
  "buildx.build.ref": "default/default/lx4yc0y6363w40bnrtukr12v1",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.oci.image.index.v1+json",
    "digest": "sha256:bcbe77faeb9f47ba3edb8a60257921eb6be41522b26aeb57b2361eeb4d7d3b14",
    "size": 1607
  },
  "containerimage.digest": "sha256:bcbe77faeb9f47ba3edb8a60257921eb6be41522b26aeb57b2361eeb4d7d3b14",
  "image.name": "moby-dangling@sha256:bcbe77faeb9f47ba3edb8a60257921eb6be41522b26aeb57b2361eeb4d7d3b14"
}

After:

$ docker buildx b --platform linux/amd64,linux/arm64 --metadata-file metadata.json -<<<'from alpine'
#0 building with "default" instance using docker driver
...
#8 resolving provenance for metadata file
#8 DONE 0.0s

$ cat metadata.json 
{
  "buildx.build.provenance/linux/amd64": {
    "builder": {
      "id": ""
    },
    "buildType": "https://mobyproject.org/buildkit@v1",
    "materials": [
      {
        "uri": "pkg:docker/alpine@latest?platform=linux%2Famd64",
        "digest": {
          "sha256": "4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1"
        }
      }
    ],
    "invocation": {
      "configSource": {
        "entryPoint": "Dockerfile"
      },
      "parameters": {
        "frontend": "dockerfile.v0",
        "args": {
          "dockerfilekey": "dockerfile"
        },
        "locals": [
          {
            "name": "context"
          },
          {
            "name": "dockerfile"
          }
        ]
      },
      "environment": {
        "platform": "linux/amd64"
      }
    }
  },
  "buildx.build.provenance/linux/arm64": {
    "builder": {
      "id": ""
    },
    "buildType": "https://mobyproject.org/buildkit@v1",
    "materials": [
      {
        "uri": "pkg:docker/alpine@latest?platform=linux%2Farm64",
        "digest": {
          "sha256": "4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1"
        }
      }
    ],
    "invocation": {
      "configSource": {
        "entryPoint": "Dockerfile"
      },
      "parameters": {
        "frontend": "dockerfile.v0",
        "args": {
          "dockerfilekey": "dockerfile"
        },
        "locals": [
          {
            "name": "context"
          },
          {
            "name": "dockerfile"
          }
        ]
      },
      "environment": {
        "platform": "linux/amd64"
      }
    }
  },
  "buildx.build.ref": "default/default/m5yq6a7jqtueumuy6el6ntmkh",
  "containerimage.descriptor": {
    "mediaType": "application/vnd.oci.image.index.v1+json",
    "digest": "sha256:3a23d5c73657d7ced2f9c9503006007050a333d43da3a9e16930a262c98590b0",
    "size": 1607
  },
  "containerimage.digest": "sha256:3a23d5c73657d7ced2f9c9503006007050a333d43da3a9e16930a262c98590b0",
  "image.name": "moby-dangling@sha256:3a23d5c73657d7ced2f9c9503006007050a333d43da3a9e16930a262c98590b0"
}

@crazy-max crazy-max marked this pull request as ready for review November 25, 2025 10:08
@crazy-max crazy-max added this to the v0.31.0 milestone Nov 25, 2025
@crazy-max
Copy link
Member Author

tests failing on freebsd are not related, see #3537

Copy link
Contributor

@dvdksn dvdksn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@crazy-max crazy-max force-pushed the fix-provnance-metadata branch from dbd02f8 to a337b66 Compare November 25, 2025 16:24
return nil
})
} else if ev.Record.Results != nil {
if ev.Record.Results != nil {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe len(ev.Record.Results) better check?

@crazy-max crazy-max force-pushed the fix-provnance-metadata branch from a337b66 to 1b9791f Compare November 25, 2025 16:39
@crazy-max crazy-max requested a review from tonistiigi November 25, 2025 16:40
@tonistiigi tonistiigi merged commit e084a7f into docker:master Nov 25, 2025
138 checks passed
@crazy-max crazy-max deleted the fix-provnance-metadata branch November 25, 2025 17:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants