Skip to content

Commit e7c7254

Browse files
committed
Fix image resolution pipeline
- pass the user specified image in the resolve request - default to linux/arm64 for cross platform builds
1 parent 2899c06 commit e7c7254

4 files changed

Lines changed: 2 additions & 22 deletions

File tree

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ build: $(BUILD_DIR)
4343

4444
.PHONY: build-linux
4545
build-linux: $(BUILD_DIR)
46-
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GO) build $(GOFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux .
46+
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 $(GO) build $(GOFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux .
4747

4848
.PHONY: fmt
4949
fmt: go-fmt update-licenses

pkg/build/frontend.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ func resolveStates(ctx context.Context, bopts *BOpts, platform ocispecs.Platform
165165
resolverOpts.ImageOpt = &sourceresolver.ResolveImageOpt{
166166
ResolveMode: llb.ResolveModePreferLocal.String(),
167167
}
168-
_, digest, img, err := bopts.Resolver.ResolveImageConfig(ctx, ref.String(), resolverOpts)
168+
_, digest, img, err := bopts.Resolver.ResolveImageConfig(ctx, resolvedBaseStageName.Result, resolverOpts)
169169
if err != nil {
170170
if err == reference.ErrObjectRequired {
171171
return

pkg/resolver/resolver.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,10 @@ import (
2121
"fmt"
2222

2323
"github.com/containerd/containerd/platforms"
24-
"github.com/containerd/containerd/reference"
2524
"github.com/google/uuid"
2625
"github.com/moby/buildkit/client/llb"
2726
"github.com/moby/buildkit/client/llb/sourceresolver"
2827
"github.com/opencontainers/go-digest"
29-
"github.com/sirupsen/logrus"
3028

3129
"github.com/apple/container-builder-shim/pkg/api"
3230
"github.com/apple/container-builder-shim/pkg/stream"
@@ -119,14 +117,6 @@ Response Format:
119117
*/
120118
func (r *ResolverProxy) ResolveImageConfig(ctx context.Context, ref string, opt sourceresolver.Opt) (string, digest.Digest, []byte, error) {
121119
var err error
122-
u, err := reference.Parse(ref)
123-
if err != nil {
124-
logrus.Debugf("reference parse error: %v", err)
125-
return ref, digest.Digest(""), nil, err
126-
} else if u.Object == "" {
127-
logrus.Debugf("reference object empty: %#v", u)
128-
return ref, digest.Digest(""), nil, reference.ErrObjectRequired
129-
}
130120

131121
req := &api.ImageTransfer{
132122
Direction: api.TransferDirection_INTO,

pkg/resolver/resolver_test.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,3 @@ func TestResolverProxy_ResolveImageConfig_ErrorMetadata(t *testing.T) {
104104
t.Fatalf("expected error from metadata, got nil")
105105
}
106106
}
107-
108-
func TestResolverProxy_ResolveImageConfig_InvalidReference(t *testing.T) {
109-
proxy := NewResolverProxy()
110-
plt := platforms.DefaultSpec()
111-
badRef := "justarepo"
112-
_, _, _, err := proxy.ResolveImageConfig(context.Background(), badRef, sourceresolver.Opt{Platform: &plt})
113-
if err == nil {
114-
t.Fatalf("expected reference parse error, got nil")
115-
}
116-
}

0 commit comments

Comments
 (0)