Skip to content

Commit

Permalink
go: switch to buildkit builder with testing_use_namespace_cloud_build…
Browse files Browse the repository at this point in the history
… is used. (#1294)
  • Loading branch information
hugosantos authored Aug 18, 2024
1 parent aa52509 commit af204b7
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 17 deletions.
1 change: 1 addition & 0 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
pre-commit

goreleaser
gh

eksctl
postgresql
Expand Down
16 changes: 4 additions & 12 deletions internal/build/configuration.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,10 @@ type buildTarget struct {
}

type buildConfiguration struct {
buildTarget *buildTarget
source schema.PackageName
label string
workspace Workspace
prefersBuildkit bool
buildTarget *buildTarget
source schema.PackageName
label string
workspace Workspace
}

func NewBuildTarget(target *specs.Platform) *buildTarget {
Expand All @@ -50,11 +49,6 @@ func (c *buildTarget) WithWorkspace(w Workspace) *buildConfiguration {
return d.WithWorkspace(w)
}

func (d *buildConfiguration) WithPrefersBuildkit(prefers bool) *buildConfiguration {
d.prefersBuildkit = prefers
return d
}

func (d *buildConfiguration) WithWorkspace(w Workspace) *buildConfiguration {
d.workspace = w
return d
Expand Down Expand Up @@ -83,7 +77,6 @@ func CopyConfiguration(b Configuration) *buildConfiguration {

return t.WithSourcePackage(b.SourcePackage()).
WithSourceLabel(b.SourceLabel()).
WithPrefersBuildkit(b.PrefersBuildkit()).
WithWorkspace(b.Workspace())
}

Expand All @@ -96,5 +89,4 @@ func (d *buildConfiguration) PublishName() compute.Computable[oci.RepositoryWith
}
func (d *buildConfiguration) SourcePackage() schema.PackageName { return d.source }
func (d *buildConfiguration) SourceLabel() string { return d.label }
func (d *buildConfiguration) PrefersBuildkit() bool { return d.prefersBuildkit }
func (d *buildConfiguration) Workspace() Workspace { return d.workspace }
4 changes: 0 additions & 4 deletions internal/build/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,6 @@ type BuildTarget interface {
type Configuration interface {
BuildTarget

// If the builder has the ability to produce with buildkit, that's
// preferred. A reason to do this is for instance when we want to merge
// multiple images together, and want to defer the merge to buildkit.
PrefersBuildkit() bool
Workspace() Workspace
}

Expand Down
3 changes: 2 additions & 1 deletion internal/integrations/golang/gobinary.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import (
"namespacelabs.dev/foundation/internal/compute"
"namespacelabs.dev/foundation/internal/fnerrors"
"namespacelabs.dev/foundation/internal/gosupport"
"namespacelabs.dev/foundation/internal/testing"
"namespacelabs.dev/foundation/schema"
"namespacelabs.dev/foundation/std/cfg/knobs"
"namespacelabs.dev/foundation/std/pkggraph"
Expand All @@ -38,7 +39,7 @@ type GoBinary struct {
var UseBuildKitForBuilding = knobs.Bool("golang_use_buildkit", "If set to true, buildkit is used for building, instead of a ko-style builder.", false)

func (gb GoBinary) BuildImage(ctx context.Context, env pkggraph.SealedContext, conf build.Configuration) (compute.Computable[oci.Image], error) {
if conf.PrefersBuildkit() || buildkit.BuildOnNamespaceCloud.Get(env.Configuration()) || UseBuildKitForBuilding.Get(env.Configuration()) {
if testing.UseNamespaceBuildCluster || buildkit.BuildOnNamespaceCloud.Get(env.Configuration()) || UseBuildKitForBuilding.Get(env.Configuration()) {
return buildUsingBuildkit(ctx, env, gb, conf)
}

Expand Down
1 change: 1 addition & 0 deletions internal/testing/environment.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ func PrepareEnv(ctx context.Context, sourceEnv cfg.Context, ephemeral bool) (cfg
if err != nil {
return nil, err
}

messages = append(messages, protos.WrapAnyOrDie(msg))
}

Expand Down

0 comments on commit af204b7

Please sign in to comment.