Skip to content

Commit c5c0c24

Browse files
committed
feat: add dev.workingDir
1 parent 14f80a0 commit c5c0c24

File tree

4 files changed

+27
-1
lines changed

4 files changed

+27
-1
lines changed

e2e/tests/sync/sync.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,9 @@ var _ = DevSpaceDescribe("sync", func() {
429429
defer ginkgo.GinkgoRecover()
430430
defer waitGroup.Done()
431431
err = syncCmd.Run(f)
432-
framework.ExpectNoError(err)
432+
if err != nil && err != context.Canceled {
433+
framework.ExpectNoError(err)
434+
}
433435
}()
434436

435437
// wait until files were synced

pkg/devspace/config/versions/latest/schema.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -720,6 +720,7 @@ type DevContainer struct {
720720
ReversePorts []*PortMapping `yaml:"reversePorts,omitempty" json:"reversePorts,omitempty"`
721721
Command []string `yaml:"command,omitempty" json:"command,omitempty"`
722722
Args []string `yaml:"args,omitempty" json:"args,omitempty"`
723+
WorkingDir string `yaml:"workingDir,omitempty" json:"workingDir,omitempty"`
723724
Env []EnvVar `yaml:"env,omitempty" json:"env,omitempty"`
724725
RestartHelperPath string `yaml:"restartHelperPath,omitempty" json:"restartHelperPath,omitempty"`
725726
DisableRestartHelper bool `yaml:"disableRestartHelper,omitempty" json:"disableRestartHelper,omitempty"`

pkg/devspace/devpod/devpod.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,9 @@ func needPodReplaceContainer(devContainer *latest.DevContainer) bool {
438438
}
439439
}
440440
}
441+
if devContainer.WorkingDir != "" {
442+
return true
443+
}
441444

442445
return false
443446
}

pkg/devspace/services/podreplace/builder.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,26 @@ func modifyDevContainer(devPod *latest.DevPod, devContainer *latest.DevContainer
186186
return errors.Wrap(err, "replace entrypoint")
187187
}
188188

189+
err = replaceWorkingDir(devContainer, podTemplate)
190+
if err != nil {
191+
return errors.Wrap(err, "replace working dir")
192+
}
193+
194+
return nil
195+
}
196+
197+
func replaceWorkingDir(devContainer *latest.DevContainer, podTemplate *corev1.PodTemplateSpec) error {
198+
if devContainer.WorkingDir == "" {
199+
return nil
200+
}
201+
202+
index, container, err := getPodTemplateContainer(devContainer, podTemplate)
203+
if err != nil {
204+
return err
205+
}
206+
207+
container.WorkingDir = devContainer.WorkingDir
208+
podTemplate.Spec.Containers[index] = *container
189209
return nil
190210
}
191211

0 commit comments

Comments
 (0)