Skip to content

Commit f929ced

Browse files
authored
Merge branch 'devspace-sh:main' into main
2 parents e88d7df + 0e19ee2 commit f929ced

File tree

10 files changed

+138
-41
lines changed

10 files changed

+138
-41
lines changed

e2e/tests/deploy/deploy.go

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
package deploy
22

33
import (
4+
"bytes"
45
"context"
56
"os"
67
"path/filepath"
78
"strings"
89

10+
"github.com/loft-sh/devspace/pkg/util/log"
11+
"github.com/onsi/gomega"
12+
"github.com/sirupsen/logrus"
13+
914
"github.com/onsi/ginkgo/v2"
1015

1116
"github.com/loft-sh/devspace/cmd"
@@ -679,4 +684,72 @@ var _ = DevSpaceDescribe("deploy", func() {
679684
framework.ExpectEqual(out2, "test")
680685
framework.ExpectEqual(out3, "test")
681686
})
687+
688+
ginkgo.It("should run helm dependency update on dependency's local chart name", func() {
689+
tempDir, err := framework.CopyToTempDir("tests/deploy/testdata/helm_git_dependency_with_local_chart")
690+
framework.ExpectNoError(err)
691+
defer framework.CleanupTempDir(initialDir, tempDir)
692+
693+
ns, err := kubeClient.CreateNamespace("deploy")
694+
framework.ExpectNoError(err)
695+
defer func() {
696+
err := kubeClient.DeleteNamespace(ns)
697+
framework.ExpectNoError(err)
698+
}()
699+
700+
// create a new dev command
701+
output := &bytes.Buffer{}
702+
deployCmd := &cmd.RunPipelineCmd{
703+
GlobalFlags: &flags.GlobalFlags{
704+
NoWarn: true,
705+
Namespace: ns,
706+
ConfigPath: "devspace-name.yaml",
707+
},
708+
Pipeline: "deploy",
709+
Log: log.NewStreamLogger(output, output, logrus.DebugLevel),
710+
}
711+
712+
// run the command
713+
err = deployCmd.RunDefault(f)
714+
framework.ExpectNoError(err)
715+
716+
// Expect helm dependency update to be run.
717+
gomega.Expect(output.String()).To(
718+
gomega.ContainSubstring("helm dependency update"),
719+
)
720+
})
721+
722+
ginkgo.It("should run helm dependency update on dependency's local chart name and path", func() {
723+
tempDir, err := framework.CopyToTempDir("tests/deploy/testdata/helm_git_dependency_with_local_chart")
724+
framework.ExpectNoError(err)
725+
defer framework.CleanupTempDir(initialDir, tempDir)
726+
727+
ns, err := kubeClient.CreateNamespace("deploy")
728+
framework.ExpectNoError(err)
729+
defer func() {
730+
err := kubeClient.DeleteNamespace(ns)
731+
framework.ExpectNoError(err)
732+
}()
733+
734+
// create a new dev command
735+
output := &bytes.Buffer{}
736+
deployCmd := &cmd.RunPipelineCmd{
737+
GlobalFlags: &flags.GlobalFlags{
738+
NoWarn: true,
739+
Namespace: ns,
740+
ConfigPath: "devspace-path.yaml",
741+
},
742+
Pipeline: "deploy",
743+
Log: log.NewStreamLogger(output, output, logrus.DebugLevel),
744+
}
745+
746+
// run the command
747+
err = deployCmd.RunDefault(f)
748+
framework.ExpectNoError(err)
749+
750+
// Expect helm dependency update to be run.
751+
gomega.Expect(output.String()).To(
752+
gomega.ContainSubstring("helm dependency update"),
753+
)
754+
})
682755
})
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: v2beta1
2+
3+
dependencies:
4+
dependency:
5+
git: https://github.com/loft-sh/e2e-test-dependency.git
6+
branch: helm-with-local-chart
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
version: v2beta1
2+
3+
dependencies:
4+
dependency:
5+
git: https://github.com/loft-sh/e2e-test-dependency.git
6+
branch: helm-with-local-chart
7+
subPath: config-with-path

e2e/tests/restarthelper/restarthelper.go

Lines changed: 28 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ package restarthelper
33
import (
44
"bufio"
55
"context"
6+
"io"
7+
"os"
8+
"strings"
9+
"time"
10+
611
"github.com/loft-sh/devspace/cmd"
712
"github.com/loft-sh/devspace/cmd/flags"
813
"github.com/loft-sh/devspace/e2e/framework"
@@ -13,9 +18,6 @@ import (
1318
"github.com/onsi/ginkgo/v2"
1419
"github.com/onsi/gomega"
1520
"github.com/sirupsen/logrus"
16-
"os"
17-
"strings"
18-
"time"
1921
)
2022

2123
var _ = DevSpaceDescribe("restarthelper", func() {
@@ -55,6 +57,10 @@ var _ = DevSpaceDescribe("restarthelper", func() {
5557
reader, writer, err := os.Pipe()
5658
framework.ExpectNoError(err)
5759

60+
teeReader := io.TeeReader(reader, os.Stdout)
61+
scanner := bufio.NewScanner(teeReader)
62+
scanner.Split(scanner2.ScanLines)
63+
5864
//output := &bytes.Buffer{}
5965
log := logpkg.NewStreamLogger(writer, writer, logrus.DebugLevel)
6066

@@ -63,6 +69,7 @@ var _ = DevSpaceDescribe("restarthelper", func() {
6369
GlobalFlags: &flags.GlobalFlags{
6470
NoWarn: true,
6571
Namespace: ns,
72+
Debug: true,
6673
},
6774
Pipeline: "dev",
6875
SkipPush: true,
@@ -76,9 +83,6 @@ var _ = DevSpaceDescribe("restarthelper", func() {
7683
done <- err
7784
}()
7885

79-
scanner := bufio.NewScanner(reader)
80-
scanner.Split(scanner2.ScanLines)
81-
8286
waitSeen := false
8387
waitCount := 0
8488
waitMax := 3
@@ -105,10 +109,6 @@ var _ = DevSpaceDescribe("restarthelper", func() {
105109
}
106110
}
107111

108-
if waitSeen && !hasWaitingMessage {
109-
break
110-
}
111-
112112
if waitCount > waitMax {
113113
break
114114
}
@@ -138,6 +138,10 @@ var _ = DevSpaceDescribe("restarthelper", func() {
138138
reader, writer, err := os.Pipe()
139139
framework.ExpectNoError(err)
140140

141+
teeReader := io.TeeReader(reader, os.Stdout)
142+
scanner := bufio.NewScanner(teeReader)
143+
scanner.Split(scanner2.ScanLines)
144+
141145
//output := &bytes.Buffer{}
142146
log := logpkg.NewStreamLogger(writer, writer, logrus.DebugLevel)
143147

@@ -146,6 +150,7 @@ var _ = DevSpaceDescribe("restarthelper", func() {
146150
GlobalFlags: &flags.GlobalFlags{
147151
NoWarn: true,
148152
Namespace: ns,
153+
Debug: true,
149154
},
150155
Pipeline: "dev",
151156
SkipPush: true,
@@ -159,14 +164,11 @@ var _ = DevSpaceDescribe("restarthelper", func() {
159164
done <- err
160165
}()
161166

162-
scanner := bufio.NewScanner(reader)
163-
scanner.Split(scanner2.ScanLines)
164-
165167
waitSeen := false
166168
waitCount := 0
167169
waitMax := 3
168170
waitingMessage := "(Still waiting...)"
169-
startedMessage := "Started with restart helper"
171+
startedMessage := "Started with dev command entrypoint"
170172
startedSeen := false
171173

172174
for scanner.Scan() {
@@ -188,10 +190,6 @@ var _ = DevSpaceDescribe("restarthelper", func() {
188190
}
189191
}
190192

191-
if waitSeen && !hasWaitingMessage {
192-
break
193-
}
194-
195193
if waitCount > waitMax {
196194
break
197195
}
@@ -221,6 +219,10 @@ var _ = DevSpaceDescribe("restarthelper", func() {
221219
reader, writer, err := os.Pipe()
222220
framework.ExpectNoError(err)
223221

222+
teeReader := io.TeeReader(reader, os.Stdout)
223+
scanner := bufio.NewScanner(teeReader)
224+
scanner.Split(scanner2.ScanLines)
225+
224226
//output := &bytes.Buffer{}
225227
log := logpkg.NewStreamLogger(writer, writer, logrus.DebugLevel)
226228

@@ -229,6 +231,7 @@ var _ = DevSpaceDescribe("restarthelper", func() {
229231
GlobalFlags: &flags.GlobalFlags{
230232
NoWarn: true,
231233
Namespace: ns,
234+
Debug: true,
232235
},
233236
Pipeline: "dev",
234237
SkipPush: true,
@@ -242,16 +245,13 @@ var _ = DevSpaceDescribe("restarthelper", func() {
242245
done <- err
243246
}()
244247

245-
scanner := bufio.NewScanner(reader)
246-
scanner.Split(scanner2.ScanLines)
247-
248248
waitSeen := false
249249
waitCount := 0
250250
waitMax := 3
251251
waitingMessage := "(Still waiting...)"
252-
startedMessage := "Started with restart helper"
252+
startedMessage := "Started with dev command entrypoint"
253253
startedSeen := false
254-
legacyStartedMessage := "Started with restart helper"
254+
legacyStartedMessage := "Started with legacy restart helper"
255255
legacyStartedSeen := false
256256

257257
for scanner.Scan() {
@@ -279,10 +279,6 @@ var _ = DevSpaceDescribe("restarthelper", func() {
279279
}
280280
}
281281

282-
if waitSeen && !hasWaitingMessage {
283-
break
284-
}
285-
286282
if waitCount > waitMax {
287283
break
288284
}
@@ -313,6 +309,10 @@ var _ = DevSpaceDescribe("restarthelper", func() {
313309
reader, writer, err := os.Pipe()
314310
framework.ExpectNoError(err)
315311

312+
teeReader := io.TeeReader(reader, os.Stdout)
313+
scanner := bufio.NewScanner(teeReader)
314+
scanner.Split(scanner2.ScanLines)
315+
316316
//output := &bytes.Buffer{}
317317
log := logpkg.NewStreamLogger(writer, writer, logrus.DebugLevel)
318318

@@ -321,6 +321,7 @@ var _ = DevSpaceDescribe("restarthelper", func() {
321321
GlobalFlags: &flags.GlobalFlags{
322322
NoWarn: true,
323323
Namespace: ns,
324+
Debug: true,
324325
},
325326
Pipeline: "dev",
326327
SkipPush: true,
@@ -334,9 +335,6 @@ var _ = DevSpaceDescribe("restarthelper", func() {
334335
done <- err
335336
}()
336337

337-
scanner := bufio.NewScanner(reader)
338-
scanner.Split(scanner2.ScanLines)
339-
340338
waitSeen := false
341339
waitCount := 0
342340
waitMax := 3
@@ -363,10 +361,6 @@ var _ = DevSpaceDescribe("restarthelper", func() {
363361
}
364362
}
365363

366-
if waitSeen && !hasWaitingMessage {
367-
break
368-
}
369-
370364
if waitCount > waitMax {
371365
break
372366
}

e2e/tests/restarthelper/testdata/v5/devspace.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ images:
44
restart-helper:
55
image: john/devbackend
66
injectRestartHelper: true
7+
build:
8+
docker:
9+
skipPush: true
710

811
deployments:
912
- name: restart-helper

e2e/tests/restarthelper/testdata/v6-inject-restart-helper/devspace.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ images:
44
restart-helper:
55
image: john/devbackend
66
injectRestartHelper: true
7+
skipPush: true
78

89
deployments:
910
restart-helper:
@@ -19,7 +20,7 @@ dev:
1920
command:
2021
- sh
2122
- -c
22-
- echo 'Started with restart helper' && tail -f /dev/null
23+
- echo 'Started with dev command entrypoint' && tail -f /dev/null
2324
ports:
2425
- port: 8080
2526
sync:

e2e/tests/restarthelper/testdata/v6-manual-start/devspace.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ images:
44
restart-helper:
55
image: john/devbackend
66
injectRestartHelper: true
7+
skipPush: true
78

89
deployments:
910
restart-helper:

e2e/tests/restarthelper/testdata/v6/devspace.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ version: v2beta1
33
images:
44
restart-helper:
55
image: john/devbackend
6+
skipPush: true
67

78
deployments:
89
restart-helper:
@@ -18,7 +19,7 @@ dev:
1819
command:
1920
- sh
2021
- -c
21-
- echo 'Started with restart helper' && tail -f /dev/null
22+
- echo 'Started with dev command entrypoint' && tail -f /dev/null
2223
ports:
2324
- port: 8080
2425
sync:

pkg/devspace/helm/generic/generic.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ package generic
33
import (
44
"context"
55
"fmt"
6+
"os"
7+
"strings"
8+
69
"github.com/loft-sh/devspace/pkg/devspace/config/constants"
710
devspacecontext "github.com/loft-sh/devspace/pkg/devspace/context"
811
"github.com/loft-sh/utils/pkg/command"
9-
"os"
10-
"strings"
1112

1213
"gopkg.in/yaml.v3"
1314

@@ -76,7 +77,7 @@ func (c *client) Exec(ctx devspacecontext.Context, args []string) ([]byte, error
7677

7778
// disable log for list, because it prints same command multiple times if we've multiple deployments.
7879
if args[0] != "list" && args[0] != "registry" && (len(args) == 1 || args[1] != "login") {
79-
c.log.Debugf("Execute '%s %s'", c.helmPath, strings.Join(args, " "))
80+
c.log.Debugf("Execute '%s %s' in directory %s", c.helmPath, strings.Join(args, " "), ctx.WorkingDir())
8081
}
8182

8283
result, err := command.Output(ctx.Context(), ctx.WorkingDir(), ctx.Environ(), c.helmPath, args...)

0 commit comments

Comments
 (0)