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
··· 29 29 30 30 const ( 31 31 workspaceDir = "/tangled/workspace" 32 + homeDir = "/tangled/home" 32 33 ) 33 34 34 35 type cleanupFunc func(context.Context) error ··· 243 244 } 244 245 245 246 mkExecResp, err := e.docker.ContainerExecCreate(ctx, resp.ID, container.ExecOptions{ 246 - Cmd: []string{"mkdir", "-p", workspaceDir}, 247 + Cmd: []string{"mkdir", "-p", workspaceDir, homeDir}, 247 248 AttachStdout: true, // NOTE(winter): pretty sure this will make it so that when stdout read is done below, mkdir is done. maybe?? 248 249 AttachStderr: true, // for good measure, backed up by docker/cli ("If -d is not set, attach to everything by default") 249 250 }) ··· 302 303 for k, v := range step.environment { 303 304 envs.AddEnv(k, v) 304 305 } 305 - envs.AddEnv("HOME", workspaceDir) 306 + envs.AddEnv("HOME", homeDir) 306 307 e.l.Debug("envs for step", "step", step.Name, "envs", envs.Slice()) 307 308 308 309 mkExecResp, err := e.docker.ContainerExecCreate(ctx, addl.container, container.ExecOptions{