From 71dc1e34780fc4a1444a6e63f6bb95676bb6f06f Mon Sep 17 00:00:00 2001 From: Winter Date: Sun, 10 Aug 2025 20:48:52 -0400 Subject: [PATCH] spindle/engines/nixery: make $HOME a separate directory Change-Id: lvtywwqlqzmpnmnuolykqurrzysrwwlw 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 --- spindle/engines/nixery/engine.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spindle/engines/nixery/engine.go b/spindle/engines/nixery/engine.go index 467344d..eb3ddda 100644 --- a/spindle/engines/nixery/engine.go +++ b/spindle/engines/nixery/engine.go @@ -29,6 +29,7 @@ import ( const ( workspaceDir = "/tangled/workspace" + homeDir = "/tangled/home" ) type cleanupFunc func(context.Context) error @@ -243,7 +244,7 @@ func (e *Engine) SetupWorkflow(ctx context.Context, wid models.WorkflowId, wf *m } 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") }) @@ -302,7 +303,7 @@ func (e *Engine) RunStep(ctx context.Context, wid models.WorkflowId, w *models.W 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{ -- 2.43.0