Skip to content

Commit 9692409

Browse files
authored
Merge pull request #369 from xiaods/dev
update cmds
2 parents df09a4f + dd8440c commit 9692409

File tree

7 files changed

+208
-71
lines changed

7 files changed

+208
-71
lines changed

go.mod

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ require (
8989
github.com/go-bindata/go-bindata v3.1.2+incompatible
9090
github.com/go-logr/logr v1.4.2
9191
github.com/go-logr/stdr v1.2.3-0.20220714215716-96bad1d688c5
92-
github.com/go-sql-driver/mysql v1.8.1
9392
github.com/go-test/deep v1.0.7
9493
github.com/golang/mock v1.6.0
9594
github.com/google/uuid v1.6.0
@@ -101,9 +100,7 @@ require (
101100
github.com/k3s-io/helm-controller v0.16.5
102101
github.com/k3s-io/kine v0.13.2
103102
github.com/klauspost/compress v1.17.10
104-
github.com/lib/pq v1.10.9
105103
github.com/libp2p/go-libp2p v0.33.2
106-
github.com/mattn/go-sqlite3 v1.14.23
107104
github.com/minio/minio-go/v7 v7.0.70
108105
github.com/morikuni/aec v1.0.0
109106
github.com/mwitkow/go-http-dialer v0.0.0-20161116154839-378f744fb2b8
@@ -249,6 +246,7 @@ require (
249246
github.com/go-openapi/jsonpointer v0.21.0 // indirect
250247
github.com/go-openapi/jsonreference v0.21.0 // indirect
251248
github.com/go-openapi/swag v0.23.0 // indirect
249+
github.com/go-sql-driver/mysql v1.8.1 // indirect
252250
github.com/goccy/go-json v0.10.2 // indirect
253251
github.com/godbus/dbus/v5 v5.1.0 // indirect
254252
github.com/gofrs/flock v0.8.1 // indirect
@@ -323,6 +321,7 @@ require (
323321
github.com/mailru/easyjson v0.7.7 // indirect
324322
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
325323
github.com/mattn/go-isatty v0.0.20 // indirect
324+
github.com/mattn/go-sqlite3 v1.14.23 // indirect
326325
github.com/miekg/dns v1.1.58 // indirect
327326
github.com/miekg/pkcs11 v1.1.1 // indirect
328327
github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect

go.sum

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1085,8 +1085,6 @@ github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W
10851085
github.com/lestrrat-go/iter v1.0.1/go.mod h1:zIdgO1mRKhn8l9vrZJZz9TUMMFbQbLeTsbqPDrJ/OJc=
10861086
github.com/lestrrat-go/jwx v1.2.25/go.mod h1:zoNuZymNl5lgdcu6P7K6ie2QRll5HVfF4xwxBBK1NxY=
10871087
github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I=
1088-
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
1089-
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
10901088
github.com/libopenstorage/openstorage v1.0.0 h1:GLPam7/0mpdP8ZZtKjbfcXJBTIA/T1O6CBErVEFEyIM=
10911089
github.com/libopenstorage/openstorage v1.0.0/go.mod h1:Sp1sIObHjat1BeXhfMqLZ14wnOzEhNx2YQedreMcUyc=
10921090
github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8=

pkg/cli/cmds/cover_default.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
//go:build !linux || !cover
2+
3+
package cmds
4+
5+
import "context"
6+
7+
func WriteCoverage(ctx context.Context) {}

pkg/cli/cmds/cover_linux.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
//go:build linux && cover
2+
3+
package cmds
4+
5+
import (
6+
"context"
7+
"os"
8+
"runtime/coverage"
9+
"time"
10+
11+
"github.com/sirupsen/logrus"
12+
)
13+
14+
// writeCoverage checks if GOCOVERDIR is set on startup and writes coverage files to that directory
15+
// every 20 seconds. This is done to ensure that the coverage files are written even if the process is killed.
16+
func WriteCoverage(ctx context.Context) {
17+
if k, ok := os.LookupEnv("GOCOVERDIR"); ok {
18+
for {
19+
select {
20+
case <-ctx.Done():
21+
if err := coverage.WriteCountersDir(k); err != nil {
22+
logrus.Warn(err)
23+
}
24+
return
25+
case <-time.After(20 * time.Second):
26+
if err := coverage.WriteCountersDir(k); err != nil {
27+
logrus.Warn(err)
28+
}
29+
}
30+
}
31+
}
32+
}

pkg/cli/cmds/golang.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package cmds
2+
3+
import (
4+
"fmt"
5+
"runtime"
6+
"strings"
7+
8+
"github.com/sirupsen/logrus"
9+
"github.com/xiaods/k8e/pkg/version"
10+
)
11+
12+
func ValidateGolang() error {
13+
k8sVersion, _, _ := strings.Cut(version.Version, "+")
14+
if version.UpstreamGolang == "" {
15+
return fmt.Errorf("kubernetes golang build version not set - see 'golang: upstream version' in https://github.com/kubernetes/kubernetes/blob/%s/build/dependencies.yaml", k8sVersion)
16+
}
17+
if v, _, _ := strings.Cut(runtime.Version(), " "); version.UpstreamGolang != v {
18+
return fmt.Errorf("incorrect golang build version - kubernetes %s should be built with %s, runtime version is %s", k8sVersion, version.UpstreamGolang, v)
19+
}
20+
return nil
21+
}
22+
23+
func MustValidateGolang() {
24+
if err := ValidateGolang(); err != nil {
25+
logrus.Fatalf("Failed to validate golang version: %v", err)
26+
}
27+
}

0 commit comments

Comments
 (0)