diff options
author | Paul Okstad <pokstad@gitlab.com> | 2020-12-03 21:25:18 +0300 |
---|---|---|
committer | Zeger-Jan van de Weg <git@zjvandeweg.nl> | 2020-12-03 21:25:18 +0300 |
commit | 32f0291e6214fcb694b047187fd14c032c5ace7d (patch) | |
tree | 63530c487c6e9d88befd34f15b3afe644a4811c0 | |
parent | add5f3dd182c99b4d9e1cf93e45fec1214c00659 (diff) |
Support Golang v1.14 and v1.15 in CI
-rw-r--r-- | .gitlab-ci.yml | 14 | ||||
-rw-r--r-- | changelogs/unreleased/po-golang-upgrade-1-15.yml | 5 | ||||
-rw-r--r-- | client/dial_test.go | 14 | ||||
-rw-r--r-- | client/testdata/gitalycert.pem | 60 | ||||
-rw-r--r-- | client/testdata/gitalykey.pem | 100 | ||||
-rw-r--r-- | cmd/gitaly-ssh/auth_test.go | 2 | ||||
-rwxr-xr-x | cmd/gitaly-ssh/testdata/certs/gitalycert.pem | 60 | ||||
-rw-r--r-- | cmd/gitaly-ssh/testdata/gitalykey.pem | 100 | ||||
-rw-r--r-- | internal/gitaly/config/config_test.go | 6 | ||||
-rw-r--r-- | internal/gitaly/server/auth_test.go | 1 | ||||
-rw-r--r-- | internal/gitaly/server/testdata/gitalycert.pem | 60 | ||||
-rw-r--r-- | internal/gitaly/server/testdata/gitalykey.pem | 100 |
12 files changed, 271 insertions, 251 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5c137f4aa..7bd955c2c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,7 +4,7 @@ stages: - publish default: - image: registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7-golang-1.14-git-2.29 + image: registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7-golang-1.15-git-2.29 tags: - gitlab-org @@ -14,7 +14,7 @@ variables: SAST_DISABLE_DIND: "true" SAST_DEFAULT_ANALYZERS: "gosec" GIT_VERSION: "v2.29.0" - GO_VERSION: "1.14" + GO_VERSION: "1.15" RUBY_VERSION: "2.7" include: @@ -120,7 +120,7 @@ build: - _support/test-boot . parallel: matrix: - - GO_VERSION: [ "1.13", "1.14" ] + - GO_VERSION: [ "1.14", "1.15" ] GIT_VERSION: [ "v2.29.0" ] binaries: @@ -141,7 +141,7 @@ binaries: expire_in: 6 months parallel: matrix: - - GO_VERSION: [ "1.13", "1.14" ] + - GO_VERSION: [ "1.14", "1.15" ] GIT_VERSION: "v2.29.0" test: @@ -162,10 +162,10 @@ test: junit: _build/reports/go-tests-report-go-${GO_VERSION}-git-${GIT_VERSION}.xml parallel: matrix: - - GO_VERSION: [ "1.13", "1.14" ] + - GO_VERSION: [ "1.14", "1.15" ] GIT_VERSION: [ "v2.29.0" ] TARGET: test - - GO_VERSION: "1.14" + - GO_VERSION: "1.15" GIT_VERSION: "v2.29.0" TARGET: [ test-with-proxies, test-with-praefect, race-go ] @@ -177,7 +177,7 @@ nightly:git: - make all ${TARGET} parallel: matrix: - - GO_VERSION: "1.14" + - GO_VERSION: "1.15" GIT_VERSION: ["master", "next"] TARGET: [ test, test-with-proxies, test-with-praefect ] rules: diff --git a/changelogs/unreleased/po-golang-upgrade-1-15.yml b/changelogs/unreleased/po-golang-upgrade-1-15.yml new file mode 100644 index 000000000..059efc362 --- /dev/null +++ b/changelogs/unreleased/po-golang-upgrade-1-15.yml @@ -0,0 +1,5 @@ +--- +title: Support Golang v1.15.5 in CI +merge_request: 2858 +author: +type: other diff --git a/client/dial_test.go b/client/dial_test.go index 493912838..67e28518c 100644 --- a/client/dial_test.go +++ b/client/dial_test.go @@ -52,15 +52,12 @@ func TestDial(t *testing.T) { unixSocketAbsPath := connectionMap["unix"] - cwd, err := os.Getwd() - require.NoError(t, err) - tempDir, cleanup := testhelper.TempDir(t) defer cleanup() - unixSocketRelPath, err := filepath.Rel(cwd, filepath.Join(tempDir, "gitaly.socket")) + unixSocketPath := filepath.Join(tempDir, "gitaly.socket") require.NoError(t, err) - require.NoError(t, os.Symlink(unixSocketAbsPath, unixSocketRelPath)) + require.NoError(t, os.Symlink(unixSocketAbsPath, unixSocketPath)) tests := []struct { name string @@ -86,7 +83,7 @@ func TestDial(t *testing.T) { }, { name: "unix relative", - rawAddress: "unix:" + unixSocketRelPath, // "unix:../../tmp/temp-socket" + rawAddress: "unix:" + unixSocketPath, // "unix:../../tmp/temp-socket" expectFailure: false, }, { @@ -96,7 +93,7 @@ func TestDial(t *testing.T) { }, { name: "unix relative does not exist", - rawAddress: "unix:" + unixSocketRelPath + ".does_not_exist", // "unix:../../tmp/temp-socket.does_not_exist" + rawAddress: "unix:" + unixSocketPath + ".does_not_exist", // "unix:../../tmp/temp-socket.does_not_exist" expectFailure: true, }, { @@ -400,6 +397,7 @@ func startUnixListener() (func(), string, error) { } // startTLSListener will start a secure TLS listener on a random unused port +//go:generate openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650 -out testdata/gitalycert.pem -keyout testdata/gitalykey.pem -subj "/C=US/ST=California/L=San Francisco/O=GitLab/OU=GitLab-Shell/CN=localhost" -addext "subjectAltName = IP:127.0.0.1, DNS:localhost" func startTLSListener() (func(), string, error) { listener, err := net.Listen("tcp", "localhost:0") if err != nil { @@ -408,7 +406,7 @@ func startTLSListener() (func(), string, error) { tcpPort := listener.Addr().(*net.TCPAddr).Port address := fmt.Sprintf("%d", tcpPort) - cert, err := tls.LoadX509KeyPair("./testdata/gitalycert.pem", "./testdata/gitalykey.pem") + cert, err := tls.LoadX509KeyPair("testdata/gitalycert.pem", "testdata/gitalykey.pem") if err != nil { return nil, "", err } diff --git a/client/testdata/gitalycert.pem b/client/testdata/gitalycert.pem index 8b1514548..a64587df0 100644 --- a/client/testdata/gitalycert.pem +++ b/client/testdata/gitalycert.pem @@ -1,30 +1,34 @@ -----BEGIN CERTIFICATE----- -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 -----END CERTIFICATE----- diff --git a/client/testdata/gitalykey.pem b/client/testdata/gitalykey.pem index 8df87e633..f728527c3 100644 --- a/client/testdata/gitalykey.pem +++ b/client/testdata/gitalykey.pem @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -eM9aMpgdAlLOJrfZHS3kK3968ZclB4GB +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 +L8aOeKE3Zf7tir2LjG/0phjefjgNoH0= -----END PRIVATE KEY----- diff --git a/cmd/gitaly-ssh/auth_test.go b/cmd/gitaly-ssh/auth_test.go index 7b8f92764..efcfad493 100644 --- a/cmd/gitaly-ssh/auth_test.go +++ b/cmd/gitaly-ssh/auth_test.go @@ -22,7 +22,9 @@ import ( "google.golang.org/grpc" ) +//go:generate openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650 -out testdata/certs/gitalycert.pem -keyout testdata/gitalykey.pem -subj "/C=US/ST=California/L=San Francisco/O=GitLab/OU=GitLab-Shell/CN=localhost" -addext "subjectAltName = IP:127.0.0.1, DNS:localhost" func TestConnectivity(t *testing.T) { + // regenerate the test cert and key via `go generate` config.Config.TLS = config.TLS{ CertPath: "testdata/certs/gitalycert.pem", KeyPath: "testdata/gitalykey.pem", diff --git a/cmd/gitaly-ssh/testdata/certs/gitalycert.pem b/cmd/gitaly-ssh/testdata/certs/gitalycert.pem index 8b1514548..edda651a7 100755 --- a/cmd/gitaly-ssh/testdata/certs/gitalycert.pem +++ b/cmd/gitaly-ssh/testdata/certs/gitalycert.pem @@ -1,30 +1,34 @@ -----BEGIN CERTIFICATE----- -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 -----END CERTIFICATE----- diff --git a/cmd/gitaly-ssh/testdata/gitalykey.pem b/cmd/gitaly-ssh/testdata/gitalykey.pem index 8df87e633..b38c0308f 100644 --- a/cmd/gitaly-ssh/testdata/gitalykey.pem +++ b/cmd/gitaly-ssh/testdata/gitalykey.pem @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -eM9aMpgdAlLOJrfZHS3kK3968ZclB4GB +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 +cYxCTSbHEtUru9v5t6sVsllFqDMQFvQ= -----END PRIVATE KEY----- diff --git a/internal/gitaly/config/config_test.go b/internal/gitaly/config/config_test.go index b4f5fdb52..ff46ff564 100644 --- a/internal/gitaly/config/config_test.go +++ b/internal/gitaly/config/config_test.go @@ -797,7 +797,7 @@ storages = ["default"] rawCfg: `[daily_maintenance] duration = "meow"`, expect: DailyJob{}, - loadErr: errors.New("load toml: (2, 4): unmarshal text: time: invalid duration meow"), + loadErr: errors.New("load toml: (2, 4): unmarshal text: time: invalid duration"), }, { rawCfg: `[daily_maintenance] storages = ["default"]`, @@ -810,7 +810,9 @@ storages = ["default"] t.Run(tt.name, func(t *testing.T) { tmpFile := strings.NewReader(tt.rawCfg) cfg, err := Load(tmpFile) - require.Equal(t, tt.loadErr, err) + if err != nil { + require.Contains(t, err.Error(), tt.loadErr.Error()) + } require.Equal(t, tt.expect, cfg.DailyMaintenance) require.Equal(t, tt.validateErr, cfg.validateMaintenance()) }) diff --git a/internal/gitaly/server/auth_test.go b/internal/gitaly/server/auth_test.go index 06fb4e4d4..fdd4edfbb 100644 --- a/internal/gitaly/server/auth_test.go +++ b/internal/gitaly/server/auth_test.go @@ -216,6 +216,7 @@ func runServer(t *testing.T) (string, func()) { return runServerWithRuby(t, nil) } +//go:generate openssl req -newkey rsa:4096 -new -nodes -x509 -days 3650 -out testdata/gitalycert.pem -keyout testdata/gitalykey.pem -subj "/C=US/ST=California/L=San Francisco/O=GitLab/OU=GitLab-Shell/CN=localhost" -addext "subjectAltName = IP:127.0.0.1, DNS:localhost" func runSecureServer(t *testing.T) (string, func()) { config.Config.TLS = config.TLS{ CertPath: "testdata/gitalycert.pem", diff --git a/internal/gitaly/server/testdata/gitalycert.pem b/internal/gitaly/server/testdata/gitalycert.pem index 8b1514548..df078e4ee 100644 --- a/internal/gitaly/server/testdata/gitalycert.pem +++ b/internal/gitaly/server/testdata/gitalycert.pem @@ -1,30 +1,34 @@ -----BEGIN CERTIFICATE----- -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 -----END CERTIFICATE----- diff --git a/internal/gitaly/server/testdata/gitalykey.pem b/internal/gitaly/server/testdata/gitalykey.pem index 8df87e633..cbb179201 100644 --- a/internal/gitaly/server/testdata/gitalykey.pem +++ b/internal/gitaly/server/testdata/gitalykey.pem @@ -1,52 +1,52 @@ -----BEGIN PRIVATE KEY----- -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 -eM9aMpgdAlLOJrfZHS3kK3968ZclB4GB +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 +DJaN5JpXGenp+4uIgp/kwU7KWKIQWgY= -----END PRIVATE KEY----- |