@@ -20,6 +20,7 @@ var historyTests = []func(t *testing.T, sb integration.Sandbox){
2020 testHistoryLs ,
2121 testHistoryRm ,
2222 testHistoryLsStoppedBuilder ,
23+ testHistoryBuildNameOverride ,
2324}
2425
2526func testHistoryExport (t * testing.T , sb integration.Sandbox ) {
@@ -136,6 +137,45 @@ func testHistoryLsStoppedBuilder(t *testing.T, sb integration.Sandbox) {
136137 require .NoError (t , err , string (bout ))
137138}
138139
140+ func testHistoryBuildNameOverride (t * testing.T , sb integration.Sandbox ) {
141+ dir := createTestProject (t )
142+ out , err := buildCmd (sb , withArgs ("--build-arg=BUILDKIT_BUILD_NAME=foobar" , "--metadata-file" , filepath .Join (dir , "md.json" ), dir ))
143+ require .NoError (t , err , string (out ))
144+
145+ dt , err := os .ReadFile (filepath .Join (dir , "md.json" ))
146+ require .NoError (t , err )
147+
148+ type mdT struct {
149+ BuildRef string `json:"buildx.build.ref"`
150+ }
151+ var md mdT
152+ err = json .Unmarshal (dt , & md )
153+ require .NoError (t , err )
154+
155+ refParts := strings .Split (md .BuildRef , "/" )
156+ require .Len (t , refParts , 3 )
157+
158+ cmd := buildxCmd (sb , withArgs ("history" , "ls" , "--filter=ref=" + refParts [2 ], "--format=json" ))
159+ bout , err := cmd .Output ()
160+ require .NoError (t , err , string (bout ))
161+
162+ type recT struct {
163+ Ref string `json:"ref"`
164+ Name string `json:"name"`
165+ Status string `json:"status"`
166+ CreatedAt * time.Time `json:"created_at"`
167+ CompletedAt * time.Time `json:"completed_at"`
168+ TotalSteps int32 `json:"total_steps"`
169+ CompletedSteps int32 `json:"completed_steps"`
170+ CachedSteps int32 `json:"cached_steps"`
171+ }
172+ var rec recT
173+ err = json .Unmarshal (bout , & rec )
174+ require .NoError (t , err )
175+ require .Equal (t , md .BuildRef , rec .Ref )
176+ require .Equal (t , "foobar" , rec .Name )
177+ }
178+
139179type buildRef struct {
140180 Builder string
141181 Node string
0 commit comments