diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9e6517e9ab..adb85f2e09 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,14 +1,68 @@ version: 2 updates: -- package-ecosystem: gomod - directory: "/" - schedule: - interval: daily - open-pull-requests-limit: 3 - rebase-strategy: disabled -- package-ecosystem: gomod - directory: "/e2e" - schedule: - interval: daily - open-pull-requests-limit: 3 - rebase-strategy: disabled + - package-ecosystem: gomod + directory: / + schedule: + interval: daily + open-pull-requests-limit: 3 + rebase-strategy: disabled + - package-ecosystem: gomod + directory: /e2e + schedule: + interval: daily + open-pull-requests-limit: 3 + rebase-strategy: disabled + - package-ecosystem: gomod + directory: /examples/cockroachdb + schedule: + interval: daily + open-pull-requests-limit: 3 + rebase-strategy: disabled + - package-ecosystem: gomod + directory: /examples/datastore + schedule: + interval: daily + open-pull-requests-limit: 3 + rebase-strategy: disabled + - package-ecosystem: gomod + directory: /examples/firestore + schedule: + interval: daily + open-pull-requests-limit: 3 + rebase-strategy: disabled + - package-ecosystem: gomod + directory: /examples/nginx + schedule: + interval: daily + open-pull-requests-limit: 3 + rebase-strategy: disabled + - package-ecosystem: gomod + directory: /examples/pubsub + schedule: + interval: daily + open-pull-requests-limit: 3 + rebase-strategy: disabled + - package-ecosystem: gomod + directory: /examples/pulsar + schedule: + interval: daily + open-pull-requests-limit: 3 + rebase-strategy: disabled + - package-ecosystem: gomod + directory: /examples/redis + schedule: + interval: daily + open-pull-requests-limit: 3 + rebase-strategy: disabled + - package-ecosystem: gomod + directory: /examples/spanner + schedule: + interval: daily + open-pull-requests-limit: 3 + rebase-strategy: disabled + - package-ecosystem: gomod + directory: /examples/toxiproxy + schedule: + interval: daily + open-pull-requests-limit: 3 + rebase-strategy: disabled diff --git a/examples/dependabot.go b/examples/dependabot.go new file mode 100644 index 0000000000..0cee5ba5ff --- /dev/null +++ b/examples/dependabot.go @@ -0,0 +1,115 @@ +package main + +import ( + "io/ioutil" + "path/filepath" + + "gopkg.in/yaml.v3" +) + +type Updates []Update + +type DependabotConfig struct { + Version int `yaml:"version"` + Updates Updates `yaml:"updates"` +} + +type Schedule struct { + Interval string `yaml:"interval"` +} + +type Update struct { + PackageEcosystem string `yaml:"package-ecosystem"` + Directory string `yaml:"directory"` + Schedule Schedule `yaml:"schedule"` + OpenPullRequestsLimit int `yaml:"open-pull-requests-limit"` + RebaseStrategy string `yaml:"rebase-strategy"` +} + +func NewUpdate(example string) Update { + return Update{ + Directory: "/examples/" + example, + OpenPullRequestsLimit: 3, + PackageEcosystem: "gomod", + RebaseStrategy: "disabled", + Schedule: Schedule{ + Interval: "daily", + }, + } +} + +// Len is the number of elements in the collection. +func (u Updates) Len() int { + return len(u) +} + +// Less reports whether the element with index i +// must sort before the element with index j. +// +// If both Less(i, j) and Less(j, i) are false, +// then the elements at index i and j are considered equal. +// Sort may place equal elements in any order in the final result, +// while Stable preserves the original input order of equal elements. +// +// Less must describe a transitive ordering: +// - if both Less(i, j) and Less(j, k) are true, then Less(i, k) must be true as well. +// - if both Less(i, j) and Less(j, k) are false, then Less(i, k) must be false as well. +// +// Note that floating-point comparison (the < operator on float32 or float64 values) +// is not a transitive ordering when not-a-number (NaN) values are involved. +// See Float64Slice.Less for a correct implementation for floating-point values. +func (u Updates) Less(i, j int) bool { + return u[i].Directory < u[j].Directory +} + +// Swap swaps the elements with indexes i and j. +func (u Updates) Swap(i, j int) { + u[i], u[j] = u[j], u[i] +} + +func getDependabotConfigFile(rootDir string) string { + return filepath.Join(rootDir, ".github", "dependabot.yml") +} + +func getDependabotUpdates() ([]Update, error) { + parent, err := getRootDir() + if err != nil { + return nil, err + } + + config, err := readDependabotConfig(parent) + if err != nil { + return nil, err + } + + return config.Updates, nil +} + +func readDependabotConfig(rootDir string) (*DependabotConfig, error) { + configFile := getDependabotConfigFile(rootDir) + + file, err := ioutil.ReadFile(configFile) + if err != nil { + return nil, err + } + + config := &DependabotConfig{} + + err = yaml.Unmarshal(file, config) + if err != nil { + return nil, err + } + + return config, nil +} + +func writeDependabotConfig(rootDir string, config *DependabotConfig) error { + data, err := yaml.Marshal(config) + if err != nil { + return err + } + + file := getDependabotConfigFile(rootDir) + + return ioutil.WriteFile(file, data, 0777) +} diff --git a/examples/dependabot_test.go b/examples/dependabot_test.go new file mode 100644 index 0000000000..2dc880bccb --- /dev/null +++ b/examples/dependabot_test.go @@ -0,0 +1,81 @@ +package main + +import ( + "os" + "path/filepath" + "strings" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestGetDependabotConfigFile(t *testing.T) { + tmp := t.TempDir() + + rootDir := filepath.Join(tmp, "testcontainers-go") + githubDir := filepath.Join(rootDir, ".github") + cfgFile := filepath.Join(githubDir, "dependabot.yml") + err := os.MkdirAll(githubDir, 0777) + require.NoError(t, err) + + err = os.WriteFile(cfgFile, []byte{}, 0777) + require.NoError(t, err) + + file := getDependabotConfigFile(rootDir) + require.NotNil(t, file) + + assert.True(t, strings.HasSuffix(file, filepath.Join("testcontainers-go", ".github", "dependabot.yml"))) +} + +func TestReadDependabotConfig(t *testing.T) { + tmp := t.TempDir() + + rootDir := filepath.Join(tmp, "testcontainers-go") + githubDir := filepath.Join(rootDir, ".github") + err := os.MkdirAll(githubDir, 0777) + require.NoError(t, err) + + err = copyInitialDependabotConfig(t, rootDir) + require.NoError(t, err) + + config, err := readDependabotConfig(rootDir) + require.NoError(t, err) + require.NotNil(t, config) + + assert.Greater(t, len(config.Updates), 0) +} + +func TestExamplesHasDependabotEntry(t *testing.T) { + examples, err := getExamples() + require.NoError(t, err) + exampleUpdates, err := getDependabotUpdates() + require.NoError(t, err) + + // we have to exclude the main and e2e modules from the examples updates + assert.Equal(t, len(exampleUpdates)-2, len(examples)) + + // all example modules exist in the dependabot updates + for _, example := range examples { + found := false + for _, exampleUpdate := range exampleUpdates { + dependabotDir := "/examples/" + strings.ToLower(example.Name()) + + if dependabotDir == exampleUpdate.Directory { + found = true + continue + } + } + assert.True(t, found, "example %s is not present in the dependabot updates", example.Name()) + } +} + +func copyInitialDependabotConfig(t *testing.T, tmpDir string) error { + projectDir, err := getRootDir() + require.NoError(t, err) + + initialConfig, err := readDependabotConfig(projectDir) + require.NoError(t, err) + + return writeDependabotConfig(tmpDir, initialConfig) +} diff --git a/examples/main.go b/examples/main.go index c4707214b7..384de98778 100644 --- a/examples/main.go +++ b/examples/main.go @@ -135,6 +135,58 @@ func generate(example Example, rootDir string) error { } } + // update examples in mkdocs + err = generateMkdocs(rootDir, exampleLower) + if err != nil { + return err + } + + // update examples in dependabot + err = generateDependabotUpdates(rootDir, exampleLower) + if err != nil { + return err + } + + fmt.Println("Please go to", example.Lower(), "directory and execute 'go mod tidy' to synchronize the dependencies") + fmt.Println("Commit the modified files and submit a pull request to include them into the project") + fmt.Println("Thanks!") + return nil +} + +func generateDependabotUpdates(rootDir string, exampleLower string) error { + // update examples in dependabot + dependabotConfig, err := readDependabotConfig(rootDir) + if err != nil { + return err + } + + dependabotExampleUpdates := dependabotConfig.Updates + + // make sure the main module is the first element in the list of examples + // and the e2e module is the second element + exampleUpdates := make(Updates, len(dependabotExampleUpdates)-2) + j := 0 + + for _, exampleUpdate := range dependabotExampleUpdates { + // filter out the index.md file + if exampleUpdate.Directory != "/" && exampleUpdate.Directory != "/e2e" { + exampleUpdates[j] = exampleUpdate + j++ + } + } + + exampleUpdates = append(exampleUpdates, NewUpdate(exampleLower)) + sort.Sort(exampleUpdates) + + // prepend the main and e2e modules + exampleUpdates = append([]Update{dependabotExampleUpdates[0], dependabotExampleUpdates[1]}, exampleUpdates...) + + dependabotConfig.Updates = exampleUpdates + + return writeDependabotConfig(rootDir, dependabotConfig) +} + +func generateMkdocs(rootDir string, exampleLower string) error { // update examples in mkdocs mkdocsConfig, err := readMkdocsConfig(rootDir) if err != nil { @@ -145,11 +197,13 @@ func generate(example Example, rootDir string) error { // make sure the index.md is the first element in the list of examples in the nav examplesNav := make([]string, len(mkdocsExamplesNav)-1) + j := 0 for _, exampleNav := range mkdocsExamplesNav { // filter out the index.md file - if !strings.HasSuffix("index.md", exampleNav) { - examplesNav = append(examplesNav, exampleNav) + if !strings.HasSuffix(exampleNav, "index.md") { + examplesNav[j] = exampleNav + j++ } } @@ -161,13 +215,5 @@ func generate(example Example, rootDir string) error { mkdocsConfig.Nav[3].Examples = examplesNav - err = writeMkdocsConfig(rootDir, mkdocsConfig) - if err != nil { - return err - } - - fmt.Println("Please go to", example.Lower(), "directory and execute 'go mod tidy' to synchronize the dependencies") - fmt.Println("Commit the modified files and submit a pull request to include them into the project") - fmt.Println("Thanks!") - return nil + return writeMkdocsConfig(rootDir, mkdocsConfig) } diff --git a/examples/main_test.go b/examples/main_test.go index 31887eb106..901aea373b 100644 --- a/examples/main_test.go +++ b/examples/main_test.go @@ -22,7 +22,7 @@ func TestGenerateWrongExampleName(t *testing.T) { err = os.MkdirAll(githubWorkflowsTmp, 0777) assert.Nil(t, err) - err = copyInitialConfig(t, rootTmp) + err = copyInitialMkdocsConfig(t, rootTmp) assert.Nil(t, err) tests := []struct { @@ -65,7 +65,16 @@ func TestGenerate(t *testing.T) { err = os.MkdirAll(githubWorkflowsTmp, 0777) assert.Nil(t, err) - err = copyInitialConfig(t, rootTmp) + err = copyInitialMkdocsConfig(t, rootTmp) + assert.Nil(t, err) + + originalConfig, err := readMkdocsConfig(rootTmp) + assert.Nil(t, err) + + err = copyInitialDependabotConfig(t, rootTmp) + assert.Nil(t, err) + + originalDependabotConfig, err := readDependabotConfig(rootTmp) assert.Nil(t, err) example := Example{ @@ -109,7 +118,34 @@ func TestGenerate(t *testing.T) { assertGoModContent(t, example, filepath.Join(generatedTemplatesDir, "go.mod")) assertMakefileContent(t, example, filepath.Join(generatedTemplatesDir, "Makefile")) assertToolsGoContent(t, example, filepath.Join(generatedTemplatesDir, "tools", "tools.go")) - assertMkdocsExamplesNav(t, example, rootTmp) + assertMkdocsExamplesNav(t, example, originalConfig, rootTmp) + assertDependabotExamplesUpdates(t, example, originalDependabotConfig, rootTmp) +} + +// assert content in the Examples nav from mkdocs.yml +func assertDependabotExamplesUpdates(t *testing.T, example Example, originalConfig *DependabotConfig, rootDir string) { + config, err := readDependabotConfig(rootDir) + assert.Nil(t, err) + + examples := config.Updates + + assert.Equal(t, len(originalConfig.Updates)+1, len(examples)) + + // the example should be in the dependabot updates + found := false + for _, ex := range examples { + directory := "/examples/" + example.Lower() + if directory == ex.Directory { + found = true + } + } + + assert.True(t, found) + + // first item is the main module + assert.Equal(t, "/", examples[0].Directory, examples) + // second item is the e2e module + assert.Equal(t, "/e2e", examples[1].Directory, examples) } // assert content example file in the docs @@ -197,12 +233,15 @@ func assertMakefileContent(t *testing.T, example Example, makefile string) { } // assert content in the Examples nav from mkdocs.yml -func assertMkdocsExamplesNav(t *testing.T, example Example, rootDir string) { +func assertMkdocsExamplesNav(t *testing.T, example Example, originalConfig *MkDocsConfig, rootDir string) { config, err := readMkdocsConfig(rootDir) assert.Nil(t, err) - // the example should be in the nav examples := config.Nav[3].Examples + + assert.Equal(t, len(originalConfig.Nav[3].Examples)+1, len(examples)) + + // the example should be in the nav found := false for _, ex := range examples { markdownExample := "examples/" + example.Lower() + ".md" diff --git a/examples/mkdocs.go b/examples/mkdocs.go index b5f7d9770c..b550f57460 100644 --- a/examples/mkdocs.go +++ b/examples/mkdocs.go @@ -5,7 +5,7 @@ import ( "os" "path/filepath" - "gopkg.in/yaml.v2" + "gopkg.in/yaml.v3" ) type MkDocsConfig struct { diff --git a/examples/mkdocs_test.go b/examples/mkdocs_test.go index 80340f60cc..b568742404 100644 --- a/examples/mkdocs_test.go +++ b/examples/mkdocs_test.go @@ -34,7 +34,7 @@ func TestReadMkDocsConfig(t *testing.T) { err := os.MkdirAll(rootDir, 0777) require.NoError(t, err) - err = copyInitialConfig(t, rootDir) + err = copyInitialMkdocsConfig(t, rootDir) require.NoError(t, err) config, err := readMkdocsConfig(rootDir) @@ -80,7 +80,7 @@ func TestExamples(t *testing.T) { } } -func copyInitialConfig(t *testing.T, tmpDir string) error { +func copyInitialMkdocsConfig(t *testing.T, tmpDir string) error { projectDir, err := getRootDir() require.NoError(t, err) diff --git a/go.mod b/go.mod index 785daf6b59..dd86c6c8f0 100644 --- a/go.mod +++ b/go.mod @@ -3,21 +3,21 @@ module github.com/testcontainers/testcontainers-go go 1.18 require ( - github.com/cenkalti/backoff/v4 v4.1.3 - github.com/containerd/containerd v1.6.8 - github.com/docker/docker v20.10.19+incompatible + github.com/cenkalti/backoff/v4 v4.2.0 + github.com/containerd/containerd v1.6.10 + github.com/docker/cli v20.10.20+incompatible github.com/docker/go-connections v0.4.0 github.com/docker/go-units v0.5.0 github.com/go-redis/redis/v8 v8.11.5 github.com/go-sql-driver/mysql v1.6.0 github.com/google/uuid v1.3.0 github.com/magiconair/properties v1.8.6 - github.com/moby/term v0.0.0-20220808134915-39b0c02b01ae - github.com/opencontainers/image-spec v1.0.3-0.20220303224323-02efb9a75ee1 - github.com/stretchr/testify v1.8.0 + github.com/moby/term v0.0.0-20221128092401-c43b287e0e0f + github.com/opencontainers/image-spec v1.1.0-rc2 + github.com/stretchr/testify v1.8.1 golang.org/x/sys v0.1.0 golang.org/x/text v0.3.7 - gopkg.in/yaml.v2 v2.4.0 + gopkg.in/yaml.v3 v3.0.1 gotest.tools/gotestsum v1.8.2 ) diff --git a/go.sum b/go.sum index 8fa4a79681..7f26f8c268 100644 --- a/go.sum +++ b/go.sum @@ -231,7 +231,6 @@ github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:ma github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.17 h1:QeVUsEDNrLBW4tMgZHvxy18sKtr6VI492kBhUfhDJNI= github.com/creack/pty v1.1.17/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= @@ -673,7 +672,6 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= @@ -951,7 +949,6 @@ golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBn golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= diff --git a/mkdocs.yml b/mkdocs.yml index 5889afa16e..ed80b46d59 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,71 +1,71 @@ site_name: Testcontainers for Go plugins: - - search - - codeinclude - - markdownextradata +- search +- codeinclude +- markdownextradata theme: - name: 'material' - palette: - scheme: testcontainers - font: - text: Roboto - code: Roboto Mono - logo: 'logo.svg' - favicon: 'favicon.ico' + name: material + palette: + scheme: testcontainers + font: + text: Roboto + code: Roboto Mono + logo: logo.svg + favicon: favicon.ico extra_css: - - 'css/extra.css' -repo_name: 'testcontainers-go' -repo_url: 'https://github.com/testcontainers/testcontainers-go' +- css/extra.css +repo_name: testcontainers-go +repo_url: https://github.com/testcontainers/testcontainers-go markdown_extensions: - - admonition - - codehilite: - linenums: False - - pymdownx.superfences - - pymdownx.tabbed: - alternate_style: true - - pymdownx.snippets +- admonition +- codehilite: + linenums: false +- pymdownx.superfences +- pymdownx.tabbed: + alternate_style: true +- pymdownx.snippets nav: - - Home: index.md - - Quickstart: - - quickstart/gotest.md - - Features: - - features/creating_container.md - - features/networking.md - - features/garbage_collector.md - - features/build_from_dockerfile.md - - features/docker_compose.md - - features/follow_logs.md - - features/override_container_command.md - - features/copy_file.md - - Wait Strategies: - - Introduction: features/wait/introduction.md - - Exec: features/wait/exec.md - - Exit: features/wait/exit.md - - Health: features/wait/health.md - - HostPort: features/wait/host_port.md - - HTTP: features/wait/http.md - - Log: features/wait/log.md - - Multi: features/wait/multi.md - - SQL: features/wait/sql.md - - Examples: - - examples/index.md - - examples/cockroachdb.md - - examples/datastore.md - - examples/firestore.md - - examples/nginx.md - - examples/redis.md - - examples/pubsub.md - - examples/pulsar.md - - examples/spanner.md - - examples/toxiproxy.md - - System Requirements: - - system_requirements/index.md - - system_requirements/using_colima.md - - system_requirements/using_podman.md - - Contributing: - - contributing.md - - contributing_docs.md - - Getting help: getting_help.md +- Home: index.md +- Quickstart: + - quickstart/gotest.md +- Features: + - features/creating_container.md + - features/networking.md + - features/garbage_collector.md + - features/build_from_dockerfile.md + - features/docker_compose.md + - features/follow_logs.md + - features/override_container_command.md + - features/copy_file.md + - Wait Strategies: + - Introduction: features/wait/introduction.md + - Exec: features/wait/exec.md + - Exit: features/wait/exit.md + - Health: features/wait/health.md + - HostPort: features/wait/host_port.md + - HTTP: features/wait/http.md + - Log: features/wait/log.md + - Multi: features/wait/multi.md + - SQL: features/wait/sql.md +- Examples: + - examples/index.md + - examples/cockroachdb.md + - examples/datastore.md + - examples/firestore.md + - examples/nginx.md + - examples/redis.md + - examples/pubsub.md + - examples/pulsar.md + - examples/spanner.md + - examples/toxiproxy.md +- System Requirements: + - system_requirements/index.md + - system_requirements/using_colima.md + - system_requirements/using_podman.md +- Contributing: + - contributing.md + - contributing_docs.md +- Getting help: getting_help.md edit_uri: edit/main/docs/ extra: - latest_version: 0.16.0 + latest_version: 0.16.0 diff --git a/modules/compose/go.mod b/modules/compose/go.mod index 26f721a5a6..b56792cdd7 100644 --- a/modules/compose/go.mod +++ b/modules/compose/go.mod @@ -22,7 +22,7 @@ replace ( require ( github.com/compose-spec/compose-go v1.6.0 - github.com/docker/cli v20.10.19+incompatible + github.com/docker/cli v20.10.20+incompatible github.com/docker/compose/v2 v2.12.2 github.com/docker/docker v20.10.19+incompatible github.com/google/uuid v1.3.0 @@ -39,7 +39,7 @@ require ( github.com/Microsoft/go-winio v0.5.2 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/buger/goterm v1.0.4 // indirect - github.com/cenkalti/backoff/v4 v4.1.3 // indirect + github.com/cenkalti/backoff/v4 v4.2.0 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/containerd/console v1.0.3 // indirect github.com/containerd/containerd v1.6.10 // indirect diff --git a/modules/compose/go.sum b/modules/compose/go.sum index 54e850001a..3b39b72e24 100644 --- a/modules/compose/go.sum +++ b/modules/compose/go.sum @@ -79,8 +79,8 @@ github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0Bsq github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/bugsnag/panicwrap v1.2.0 h1:OzrKrRvXis8qEvOkfcxNcYbOd2O7xXS2nnKMEMABFQA= github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= -github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= -github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.2.0 h1:HN5dHm3WBOgndBH6E8V0q2jIYIR3s9yglV8k/+MN3u4= +github.com/cenkalti/backoff/v4 v4.2.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=