Install opencode in default images
Extend the default image provisioning path so opencode is installed through mise as part of both the Go-native image builder and the shell-based rootfs customization flow. That keeps new images consistent regardless of which build path produced them. The change reuses the existing mise activation setup instead of adding a second tool bootstrap path, and adds a provisioning-script assertion so the generated guest setup includes the opencode install step. Verified with bash -n customize.sh and go test ./....
This commit is contained in:
parent
4812693c1e
commit
4e0132982d
3 changed files with 4 additions and 0 deletions
|
|
@ -23,6 +23,7 @@ const (
|
|||
defaultMiseVersion = "v2025.12.0"
|
||||
defaultMiseInstallPath = "/usr/local/bin/mise"
|
||||
defaultMiseActivateLine = `eval "$(/usr/local/bin/mise activate bash)"`
|
||||
defaultOpenCodeTool = "github:anomalyco/opencode"
|
||||
)
|
||||
|
||||
type imageBuildSpec struct {
|
||||
|
|
@ -258,6 +259,7 @@ func buildModulesCommand(modulesBase string) string {
|
|||
|
||||
func appendMiseSetup(script *bytes.Buffer) {
|
||||
fmt.Fprintf(script, "curl -fsSL https://mise.run | MISE_INSTALL_PATH=%s MISE_VERSION=%s sh\n", shellQuote(defaultMiseInstallPath), shellQuote(defaultMiseVersion))
|
||||
fmt.Fprintf(script, "%s use -g %s\n", shellQuote(defaultMiseInstallPath), shellQuote(defaultOpenCodeTool))
|
||||
script.WriteString("mkdir -p /etc/profile.d\n")
|
||||
script.WriteString("cat > /etc/profile.d/mise.sh <<'EOF'\n")
|
||||
fmt.Fprintf(script, "if [ -n \"${BASH_VERSION:-}\" ] && [ -x %s ]; then\n", shellQuote(defaultMiseInstallPath))
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ func TestBuildProvisionScriptInstallsAndActivatesMise(t *testing.T) {
|
|||
script := buildProvisionScript("devbox", "1.1.1.1", []string{"git", "curl"}, false)
|
||||
for _, snippet := range []string{
|
||||
"curl -fsSL https://mise.run | MISE_INSTALL_PATH='/usr/local/bin/mise' MISE_VERSION='v2025.12.0' sh",
|
||||
"'/usr/local/bin/mise' use -g 'github:anomalyco/opencode'",
|
||||
"cat > /etc/profile.d/mise.sh <<'EOF'",
|
||||
"if [ -n \"${BASH_VERSION:-}\" ] && [ -x '/usr/local/bin/mise' ]; then",
|
||||
`eval "$(/usr/local/bin/mise activate bash)"`,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue