Skip to content

Commit 2b7ed66

Browse files
cd to / and defang down before deploying
to deprovision any previously deployed projects for this tenant
1 parent 06027f9 commit 2b7ed66

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

tools/testing/deployer/deployer.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,37 @@ func (d *CliDeployer) RunDeployTest(ctx context.Context, t test.TestInfo) (*test
155155
},
156156
}
157157

158+
wkdir, err := os.Getwd()
159+
if err != nil {
160+
return nil, fmt.Errorf("failed to get current working directory: %w", err)
161+
}
162+
err = os.Chdir("/")
163+
if err != nil {
164+
return nil, fmt.Errorf("failed to change working directory: %w", err)
165+
}
166+
_, err = d.RunCommand(cmdCtx, func(cmd *exec.Cmd) {
167+
if t.Stdout != nil {
168+
cmd.Stdout = io.MultiWriter(&d.Stdout, t.Stdout, detector)
169+
} else {
170+
cmd.Stdout = io.MultiWriter(&d.Stdout, detector)
171+
}
172+
if t.Stderr != nil {
173+
cmd.Stderr = io.MultiWriter(&d.Stderr, t.Stderr, detector)
174+
} else {
175+
cmd.Stderr = io.MultiWriter(&d.Stderr, detector)
176+
}
177+
cmd.Cancel = func() error {
178+
return cmd.Process.Signal(os.Interrupt) // Use interrupt signal to stop the command when context is cancelled
179+
}
180+
}, "defang", "compose", "down", "--detach")
181+
if err != nil {
182+
return nil, fmt.Errorf("failed to run compose down: %w", err)
183+
}
184+
err = os.Chdir(wkdir)
185+
if err != nil {
186+
return nil, fmt.Errorf("failed to change working directory: %w", err)
187+
}
188+
158189
d.HasDeployed = true
159190
start := time.Now()
160191
cmd, err := d.RunCommand(cmdCtx, func(cmd *exec.Cmd) {

0 commit comments

Comments
 (0)