Skip to content

Commit 7954f8d

Browse files
committed
tmpl
1 parent d85e9a2 commit 7954f8d

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

agent/agentcontainers/devcontainer.go

+14-2
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,29 @@ package agentcontainers
33
import (
44
"context"
55
"fmt"
6+
"strings"
67

78
"cdr.dev/slog"
89

910
"github.com/coder/coder/v2/codersdk"
1011
)
1112

13+
const devcontainerUpScriptTemplate = `
14+
if ! which devcontainer > /dev/null 2>&1; then
15+
echo "ERROR: Unable to start devcontainer, @devcontainers/cli is not installed."
16+
exit 1
17+
fi
18+
devcontainer up %s
19+
`
20+
21+
// DevcontainerStartupScript returns a script that starts a devcontainer.
1222
func DevcontainerStartupScript(dc codersdk.WorkspaceAgentDevcontainer, script codersdk.WorkspaceAgentScript) codersdk.WorkspaceAgentScript {
13-
cmd := fmt.Sprintf("devcontainer up --workspace-folder %q", dc.WorkspaceFolder)
23+
var args []string
24+
args = append(args, fmt.Sprintf("--workspace-folder %q", dc.WorkspaceFolder))
1425
if dc.ConfigPath != "" {
15-
cmd = fmt.Sprintf("%s --config %q", cmd, dc.ConfigPath)
26+
args = append(args, fmt.Sprintf("--config %q", dc.ConfigPath))
1627
}
28+
cmd := fmt.Sprintf(devcontainerUpScriptTemplate, strings.Join(args, " "))
1729
script.RunOnStart = false
1830
script.Script = cmd
1931
return script

0 commit comments

Comments
 (0)