Skip to content

Commit e6eea2c

Browse files
committed
llb: don't include platform in fileop
Signed-off-by: Tonis Tiigi <[email protected]>
1 parent 6d4901c commit e6eea2c

File tree

2 files changed

+32
-4
lines changed

2 files changed

+32
-4
lines changed

client/llb/fileop.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,7 @@ func (f *FileOp) Marshal(ctx context.Context, c *Constraints) (digest.Digest, []
691691
}
692692

693693
pop, md := MarshalConstraints(c, &f.constraints)
694+
pop.Platform = nil // file op is not platform specific
694695
pop.Op = &pb.Op_File{
695696
File: pfo,
696697
}

client/llb/state_test.go

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,27 +144,35 @@ func TestPlatformFromImage(t *testing.T) {
144144

145145
s := Image("srcimage", LinuxS390x).
146146
Run(Args([]string{"foo"})).
147-
File(Mkdir("/foo", 0700).Mkfile("/bar", 0600, []byte("bar")))
147+
File(Mkdir("/foo", 0700).Mkfile("/bar", 0600, []byte("bar"))).
148+
Run(Args([]string{"afterfile"})).Root()
148149

149-
dest := Image("destimage").File(Copy(s, "/", "/"))
150+
dest := Image("destimage").File(Copy(s, "/", "/")).Run(Args([]string{"afterfile"}))
150151

151152
def, err := dest.Marshal(context.TODO(), LinuxPpc64le)
152153
require.NoError(t, err)
153154

154155
m, arr := parseDef(t, def.Def)
155156
_ = m
156-
require.Equal(t, 6, len(arr))
157+
require.Equal(t, 8, len(arr))
157158

158159
dgst, idx := last(t, arr)
159160
require.Equal(t, 0, idx)
160161

161162
vtx, ok := m[dgst]
162163
require.Equal(t, true, ok)
163164

165+
_, ok = vtx.Op.(*pb.Op_Exec)
166+
require.Equal(t, true, ok)
167+
require.Equal(t, "ppc64le", vtx.Platform.Architecture)
168+
169+
vtx, ok = m[vtx.Inputs[0].Digest]
170+
require.Equal(t, true, ok)
171+
164172
f, ok := vtx.Op.(*pb.Op_File)
165173
require.Equal(t, true, ok)
166174
require.Equal(t, 1, len(f.File.Actions))
167-
require.Equal(t, "ppc64le", vtx.Platform.Architecture)
175+
require.Nil(t, vtx.Platform)
168176

169177
mainVtx := vtx
170178
vtx, ok = m[vtx.Inputs[0].Digest]
@@ -178,14 +186,33 @@ func TestPlatformFromImage(t *testing.T) {
178186
vtx, ok = m[mainVtx.Inputs[1].Digest]
179187
require.Equal(t, true, ok)
180188

189+
_, ok = vtx.Op.(*pb.Op_Exec)
190+
require.Equal(t, true, ok)
191+
require.Equal(t, "s390x", vtx.Platform.Architecture)
192+
193+
vtx, ok = m[vtx.Inputs[0].Digest]
194+
require.Equal(t, true, ok)
195+
181196
f, ok = vtx.Op.(*pb.Op_File)
182197
require.Equal(t, true, ok)
183198
require.Equal(t, 2, len(f.File.Actions))
199+
require.Nil(t, vtx.Platform)
200+
201+
vtx, ok = m[vtx.Inputs[0].Digest]
202+
require.Equal(t, true, ok)
203+
204+
_, ok = vtx.Op.(*pb.Op_Exec)
205+
require.Equal(t, true, ok)
184206
require.Equal(t, "s390x", vtx.Platform.Architecture)
185207

186208
vtx, ok = m[vtx.Inputs[0].Digest]
187209
require.Equal(t, true, ok)
188210

211+
src, ok = vtx.Op.(*pb.Op_Source)
212+
require.Equal(t, true, ok)
213+
require.Equal(t, "docker-image://docker.io/library/srcimage:latest", src.Source.Identifier)
214+
require.Equal(t, "s390x", vtx.Platform.Architecture)
215+
}
189216
_, ok = vtx.Op.(*pb.Op_Exec)
190217
require.Equal(t, true, ok)
191218
require.Equal(t, "s390x", vtx.Platform.Architecture)

0 commit comments

Comments
 (0)