diff --git a/bake/bake.go b/bake/bake.go index 41e1ec5c3b1e..9702b51f1fd9 100644 --- a/bake/bake.go +++ b/bake/bake.go @@ -558,7 +558,7 @@ func (c Config) newOverrides(v []string) (map[string]map[string]Override, error) // IMPORTANT: if you add more fields here, do not forget to update // docs/bake-reference.md and https://docs.docker.com/build/bake/overrides/ switch keys[1] { - case "output", "cache-to", "cache-from", "tags", "platform", "secrets", "ssh", "attest", "entitlements", "network": + case "output", "cache-to", "cache-from", "tags", "platform", "secrets", "ssh", "attest", "entitlements", "network", "annotations": if len(parts) == 2 { o.ArrValue = append(o.ArrValue, parts[1]) } diff --git a/bake/bake_test.go b/bake/bake_test.go index f1f0a9f28a74..1dbb3ea7ee8b 100644 --- a/bake/bake_test.go +++ b/bake/bake_test.go @@ -34,6 +34,9 @@ target "webapp" { args = { VAR_BOTH = "webapp" } + annotations = [ + "index,manifest:org.opencontainers.image.authors=dvdksn" + ] inherits = ["webDEP"] }`), } @@ -115,6 +118,15 @@ target "webapp" { }) }) + t.Run("AnnotationsOverrides", func(t *testing.T) { + t.Parallel() + m, g, err := ReadTargets(ctx, []File{fp}, []string{"webapp"}, []string{"webapp.annotations=index,manifest:org.opencontainers.image.vendor=docker"}, nil, &EntitlementConf{}) + require.NoError(t, err) + require.Equal(t, []string{"index,manifest:org.opencontainers.image.authors=dvdksn", "index,manifest:org.opencontainers.image.vendor=docker"}, m["webapp"].Annotations) + require.Equal(t, 1, len(g)) + require.Equal(t, []string{"webapp"}, g["default"].Targets) + }) + t.Run("ContextOverride", func(t *testing.T) { t.Parallel() _, _, err := ReadTargets(ctx, []File{fp}, []string{"webapp"}, []string{"webapp.context"}, nil, &EntitlementConf{})