spindle/engines/nixery: make $HOME a separate directory #451

merged
opened by winter.bsky.social targeting master from winter.bsky.social/core: push-luoyqwkpromz

Otherwise, when programs create files in $HOME, others that check the Git repo's state may be sad (or at least emit warnings in response to) it being dirty.

Signed-off-by: Winter winter@winter.cafe

Changed files
+3 -2
spindle
engines
nixery
+3 -2
spindle/engines/nixery/engine.go
···
const (
workspaceDir = "/tangled/workspace"
+
homeDir = "/tangled/home"
)
type cleanupFunc func(context.Context) error
···
}
mkExecResp, err := e.docker.ContainerExecCreate(ctx, resp.ID, container.ExecOptions{
-
Cmd: []string{"mkdir", "-p", workspaceDir},
+
Cmd: []string{"mkdir", "-p", workspaceDir, homeDir},
AttachStdout: true, // NOTE(winter): pretty sure this will make it so that when stdout read is done below, mkdir is done. maybe??
AttachStderr: true, // for good measure, backed up by docker/cli ("If -d is not set, attach to everything by default")
})
···
for k, v := range step.environment {
envs.AddEnv(k, v)
}
-
envs.AddEnv("HOME", workspaceDir)
+
envs.AddEnv("HOME", homeDir)
e.l.Debug("envs for step", "step", step.Name, "envs", envs.Slice())
mkExecResp, err := e.docker.ContainerExecCreate(ctx, addl.container, container.ExecOptions{