diff --git a/cli/compose/loader/loader_test.go b/cli/compose/loader/loader_test.go index fab2301135..31e7f1af10 100644 --- a/cli/compose/loader/loader_test.go +++ b/cli/compose/loader/loader_test.go @@ -180,7 +180,7 @@ func strPtr(val string) *string { } var sampleConfig = types.Config{ - Version: "3.0", + Version: "3.10", Services: []types.ServiceConfig{ { Name: "foo", diff --git a/cli/compose/schema/schema.go b/cli/compose/schema/schema.go index a662f4aaf5..9d2a58e8b3 100644 --- a/cli/compose/schema/schema.go +++ b/cli/compose/schema/schema.go @@ -40,7 +40,8 @@ func init() { } // Version returns the version of the config, defaulting to the latest "3.x" -// version (3.10). +// version (3.10). If only the major version "3" is specified, it is used as +// version "3.x" and returns the default version (latest 3.x). func Version(config map[string]interface{}) string { version, ok := config[versionField] if !ok { @@ -51,10 +52,8 @@ func Version(config map[string]interface{}) string { func normalizeVersion(version string) string { switch version { - case "": + case "", "3": return defaultVersion - case "3": - return "3.0" default: return version } diff --git a/cli/compose/schema/schema_test.go b/cli/compose/schema/schema_test.go index ed14e1d0ae..b8687b076a 100644 --- a/cli/compose/schema/schema_test.go +++ b/cli/compose/schema/schema_test.go @@ -88,7 +88,6 @@ func TestValidateCredentialSpecs(t *testing.T) { version string expectedErr string }{ - {version: "3", expectedErr: "credential_spec"}, {version: "3.0", expectedErr: "credential_spec"}, {version: "3.1", expectedErr: "credential_spec"}, {version: "3.2", expectedErr: "credential_spec"}, @@ -100,6 +99,7 @@ func TestValidateCredentialSpecs(t *testing.T) { {version: "3.8"}, {version: "3.9"}, {version: "3.10"}, + {version: "3"}, {version: ""}, }