File tree Expand file tree Collapse file tree 4 files changed +202
-2
lines changed Expand file tree Collapse file tree 4 files changed +202
-2
lines changed Original file line number Diff line number Diff line change 1
- ARG GOVERSION=1.17
1
+ ARG GOVERSION=1.19
2
2
FROM --platform=$BUILDPLATFORM golang:${GOVERSION} as delve
3
3
ARG BUILDPLATFORM
4
4
ARG TARGETOS
5
5
ARG TARGETARCH
6
6
7
- ARG DELVE_VERSION=1.8 .1
7
+ ARG DELVE_VERSION=1.9 .1
8
8
9
9
# Patch delve to make defaults for --check-go-version and --only-same-user
10
10
# to be set at build time. We must install patch(1) to apply the patch.
Original file line number Diff line number Diff line change @@ -78,6 +78,22 @@ profiles:
78
78
docker :
79
79
buildArgs :
80
80
GOVERSION : 1.17
81
+ - op : add
82
+ path : /build/artifacts/-
83
+ value :
84
+ image : go118app
85
+ context : test/goapp
86
+ docker :
87
+ buildArgs :
88
+ GOVERSION : 1.18
89
+ - op : add
90
+ path : /build/artifacts/-
91
+ value :
92
+ image : go119app
93
+ context : test/goapp
94
+ docker :
95
+ buildArgs :
96
+ GOVERSION : 1.19
81
97
deploy :
82
98
kubectl :
83
99
manifests :
@@ -86,6 +102,8 @@ profiles:
86
102
- test/k8s-test-go115.yaml
87
103
- test/k8s-test-go116.yaml
88
104
- test/k8s-test-go117.yaml
105
+ - test/k8s-test-go118.yaml
106
+ - test/k8s-test-go119.yaml
89
107
90
108
# release: pushes images to production with :latest
91
109
- name : release
Original file line number Diff line number Diff line change
1
+ # This test approximates `skaffold debug` for a go app.
2
+ apiVersion : v1
3
+ kind : Pod
4
+ metadata :
5
+ name : go118pod
6
+ labels :
7
+ app : hello
8
+ protocol : dlv
9
+ runtime : go118
10
+ spec :
11
+ containers :
12
+ - name : go118app
13
+ image : go118app
14
+ args :
15
+ - /dbg/go/bin/dlv
16
+ - exec
17
+ - --log
18
+ - --headless
19
+ - --continue
20
+ - --accept-multiclient
21
+ # listen on 0.0.0.0 as it is exposed as a service
22
+ - --listen=0.0.0.0:56286
23
+ - --api-version=2
24
+ - ./app
25
+ ports :
26
+ - containerPort : 8080
27
+ - containerPort : 56286
28
+ name : dlv
29
+ readinessProbe :
30
+ httpGet :
31
+ path : /
32
+ port : 8080
33
+ volumeMounts :
34
+ - mountPath : /dbg
35
+ name : go-debugging-support
36
+ initContainers :
37
+ - image : skaffold-debug-go
38
+ name : install-go-support
39
+ resources : {}
40
+ volumeMounts :
41
+ - mountPath : /dbg
42
+ name : go-debugging-support
43
+ volumes :
44
+ - emptyDir : {}
45
+ name : go-debugging-support
46
+
47
+ ---
48
+ apiVersion : v1
49
+ kind : Service
50
+ metadata :
51
+ name : hello-dlv-go118
52
+ spec :
53
+ ports :
54
+ - name : http
55
+ port : 8080
56
+ protocol : TCP
57
+ - name : dlv
58
+ port : 56286
59
+ protocol : TCP
60
+ selector :
61
+ app : hello
62
+ protocol : dlv
63
+ runtime : go118
64
+
65
+ ---
66
+ apiVersion : batch/v1
67
+ kind : Job
68
+ metadata :
69
+ name : connect-to-go118
70
+ labels :
71
+ project : container-debug-support
72
+ type : integration-test
73
+ spec :
74
+ ttlSecondsAfterFinished : 10
75
+ backoffLimit : 1
76
+ template :
77
+ spec :
78
+ restartPolicy : Never
79
+ initContainers :
80
+ - name : wait-for-go118pod
81
+ image : kubectl
82
+ command : [sh, -c, "while ! curl -s hello-dlv-go118:8080 2>/dev/null; do echo waiting for app; sleep 1; done"]
83
+ containers :
84
+ - name : dlv-to-go118
85
+ image : skaffold-debug-go
86
+ command : [sh, -c, '
87
+ (echo bt; echo exit -c) > init.txt;
88
+ set -x;
89
+ /duct-tape/go/bin/dlv connect --init init.txt hello-dlv-go118:56286']
90
+
91
+
Original file line number Diff line number Diff line change
1
+ # This test approximates `skaffold debug` for a go app.
2
+ apiVersion : v1
3
+ kind : Pod
4
+ metadata :
5
+ name : go119pod
6
+ labels :
7
+ app : hello
8
+ protocol : dlv
9
+ runtime : go119
10
+ spec :
11
+ containers :
12
+ - name : go119app
13
+ image : go119app
14
+ args :
15
+ - /dbg/go/bin/dlv
16
+ - exec
17
+ - --log
18
+ - --headless
19
+ - --continue
20
+ - --accept-multiclient
21
+ # listen on 0.0.0.0 as it is exposed as a service
22
+ - --listen=0.0.0.0:56286
23
+ - --api-version=2
24
+ - ./app
25
+ ports :
26
+ - containerPort : 8080
27
+ - containerPort : 56286
28
+ name : dlv
29
+ readinessProbe :
30
+ httpGet :
31
+ path : /
32
+ port : 8080
33
+ volumeMounts :
34
+ - mountPath : /dbg
35
+ name : go-debugging-support
36
+ initContainers :
37
+ - image : skaffold-debug-go
38
+ name : install-go-support
39
+ resources : {}
40
+ volumeMounts :
41
+ - mountPath : /dbg
42
+ name : go-debugging-support
43
+ volumes :
44
+ - emptyDir : {}
45
+ name : go-debugging-support
46
+
47
+ ---
48
+ apiVersion : v1
49
+ kind : Service
50
+ metadata :
51
+ name : hello-dlv-go119
52
+ spec :
53
+ ports :
54
+ - name : http
55
+ port : 8080
56
+ protocol : TCP
57
+ - name : dlv
58
+ port : 56286
59
+ protocol : TCP
60
+ selector :
61
+ app : hello
62
+ protocol : dlv
63
+ runtime : go119
64
+
65
+ ---
66
+ apiVersion : batch/v1
67
+ kind : Job
68
+ metadata :
69
+ name : connect-to-go119
70
+ labels :
71
+ project : container-debug-support
72
+ type : integration-test
73
+ spec :
74
+ ttlSecondsAfterFinished : 10
75
+ backoffLimit : 1
76
+ template :
77
+ spec :
78
+ restartPolicy : Never
79
+ initContainers :
80
+ - name : wait-for-go119pod
81
+ image : kubectl
82
+ command : [sh, -c, "while ! curl -s hello-dlv-go119:8080 2>/dev/null; do echo waiting for app; sleep 1; done"]
83
+ containers :
84
+ - name : dlv-to-go119
85
+ image : skaffold-debug-go
86
+ command : [sh, -c, '
87
+ (echo bt; echo exit -c) > init.txt;
88
+ set -x;
89
+ /duct-tape/go/bin/dlv connect --init init.txt hello-dlv-go119:56286']
90
+
91
+
You can’t perform that action at this time.
0 commit comments