@@ -20,6 +20,7 @@ var historyTests = []func(t *testing.T, sb integration.Sandbox){
20
20
testHistoryLs ,
21
21
testHistoryRm ,
22
22
testHistoryLsStoppedBuilder ,
23
+ testHistoryBuildNameOverride ,
23
24
}
24
25
25
26
func testHistoryExport (t * testing.T , sb integration.Sandbox ) {
@@ -136,6 +137,45 @@ func testHistoryLsStoppedBuilder(t *testing.T, sb integration.Sandbox) {
136
137
require .NoError (t , err , string (bout ))
137
138
}
138
139
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
+
139
179
type buildRef struct {
140
180
Builder string
141
181
Node string
0 commit comments