mirror of
https://github.com/GoogleContainerTools/kaniko
synced 2026-10-08 00:51:44 +02:00
Merge pull request #1223 from sileht/fix-workdir-relative
feat: ensure relative WorkingDir work
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
FROM debian:9.11
|
||||
COPY context/foo foo
|
||||
WORKDIR /test
|
||||
WORKDIR test
|
||||
# Test that this will be appended on to the previous command, to create /test/workdir
|
||||
WORKDIR workdir
|
||||
COPY context/foo ./currentfoo
|
||||
|
||||
@@ -48,7 +48,11 @@ func (w *WorkdirCommand) ExecuteCommand(config *v1.Config, buildArgs *dockerfile
|
||||
if filepath.IsAbs(resolvedWorkingDir) {
|
||||
config.WorkingDir = resolvedWorkingDir
|
||||
} else {
|
||||
config.WorkingDir = filepath.Join(config.WorkingDir, resolvedWorkingDir)
|
||||
if config.WorkingDir != "" {
|
||||
config.WorkingDir = filepath.Join(config.WorkingDir, resolvedWorkingDir)
|
||||
} else {
|
||||
config.WorkingDir = filepath.Join("/", resolvedWorkingDir)
|
||||
}
|
||||
}
|
||||
logrus.Infof("Changed working directory to %s", config.WorkingDir)
|
||||
|
||||
|
||||
@@ -35,6 +35,11 @@ var workdirTests = []struct {
|
||||
expectedPath string
|
||||
snapshotFiles []string
|
||||
}{
|
||||
{
|
||||
path: "a",
|
||||
expectedPath: "/a",
|
||||
snapshotFiles: []string{"/a"},
|
||||
},
|
||||
{
|
||||
path: "/a",
|
||||
expectedPath: "/a",
|
||||
@@ -92,7 +97,7 @@ func TestWorkdirCommand(t *testing.T) {
|
||||
}()
|
||||
|
||||
cfg := &v1.Config{
|
||||
WorkingDir: "/",
|
||||
WorkingDir: "",
|
||||
Env: []string{
|
||||
"path=usr/",
|
||||
"home=/root",
|
||||
|
||||
Reference in New Issue
Block a user