backend/remote: Support interop from 0.14 to 1.1
The previous conservative guarantee that we would not make backwards incompatible changes to the state file format until at least Terraform 1.1 can now be extended. Terraform 0.14 through 1.1 will be able to interoperably use state files, so we can update the remote backend version compatibility check accordingly.
This commit is contained in:
parent
f1e9d88ddc
commit
57318ef561
|
@ -917,9 +917,9 @@ func (b *Remote) VerifyWorkspaceTerraformVersion(workspaceName string) tfdiags.D
|
|||
// are aware of are:
|
||||
//
|
||||
// - 0.14.0 is guaranteed to be compatible with versions up to but not
|
||||
// including 1.1.0
|
||||
v110 := version.Must(version.NewSemver("1.1.0"))
|
||||
if tfversion.SemVer.LessThan(v110) && remoteVersion.LessThan(v110) {
|
||||
// including 1.2.0
|
||||
v120 := version.Must(version.NewSemver("1.2.0"))
|
||||
if tfversion.SemVer.LessThan(v120) && remoteVersion.LessThan(v120) {
|
||||
return diags
|
||||
}
|
||||
// - Any new Terraform state version will require at least minor patch
|
||||
|
|
|
@ -566,7 +566,8 @@ func TestRemote_VerifyWorkspaceTerraformVersion(t *testing.T) {
|
|||
{"0.14.0", "0.13.5", false, false},
|
||||
{"0.14.0", "0.14.1", true, false},
|
||||
{"0.14.0", "1.0.99", true, false},
|
||||
{"0.14.0", "1.1.0", true, true},
|
||||
{"0.14.0", "1.1.0", true, false},
|
||||
{"0.14.0", "1.2.0", true, true},
|
||||
{"1.2.0", "1.2.99", true, false},
|
||||
{"1.2.0", "1.3.0", true, true},
|
||||
{"0.15.0", "latest", true, false},
|
||||
|
|
Loading…
Reference in New Issue