Skip to content

Commit 22e4f6d

Browse files
authored
Fix non-containerized build/run /w external deps (knative#2847)
It's necessary to call "go mod tidy" on scaffolded code. Signed-off-by: Matej Vašek <[email protected]>
1 parent 3150fed commit 22e4f6d

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

pkg/functions/runner.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,7 @@ func runGo(ctx context.Context, job *Job) (err error) {
110110
fmt.Printf("cd %v && go build -o f.bin\n", job.Dir())
111111
}
112112

113-
// Build
114-
args := []string{"build", "-o", "f.bin"}
113+
args := []string{"mod", "tidy"}
115114
if job.verbose {
116115
args = append(args, "-v")
117116
}
@@ -124,6 +123,20 @@ func runGo(ctx context.Context, job *Job) (err error) {
124123
return
125124
}
126125

126+
// Build
127+
args = []string{"build", "-o", "f.bin"}
128+
if job.verbose {
129+
args = append(args, "-v")
130+
}
131+
cmd = exec.CommandContext(ctx, "go", args...)
132+
cmd.Dir = job.Dir()
133+
cmd.Stdout = os.Stdout
134+
cmd.Stderr = os.Stderr
135+
err = cmd.Run()
136+
if err != nil {
137+
return
138+
}
139+
127140
// Run
128141
// ---
129142
bin := filepath.Join(job.Dir(), "f.bin")

pkg/oci/go_builder.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,18 @@ func goBuild(cfg buildJob, p v1.Platform) (binPath string, err error) {
8989
fmt.Printf(" %v\n", filepath.Base(outpath))
9090
}
9191

92+
cmd := exec.CommandContext(cfg.ctx, gobin, "mod", "tidy")
93+
cmd.Env = envs
94+
cmd.Dir = cfg.buildDir()
95+
cmd.Stderr = os.Stderr
96+
cmd.Stdout = os.Stdout
97+
err = cmd.Run()
98+
if err != nil {
99+
return "", fmt.Errorf("cannot sync deps: %w", err)
100+
}
101+
92102
// Build the function
93-
cmd := exec.CommandContext(cfg.ctx, gobin, args...)
103+
cmd = exec.CommandContext(cfg.ctx, gobin, args...)
94104
cmd.Env = envs
95105
cmd.Dir = cfg.buildDir()
96106
cmd.Stderr = os.Stderr

0 commit comments

Comments
 (0)