Skip to content

Commit ae51775

Browse files
committed
feat: support pessimistic versioning
1 parent 18dff64 commit ae51775

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

spacemk/exporters/terraform.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,14 @@ def _check_workspaces_data(self, data: list[dict]) -> list[dict]:
189189
logging.info("Start checking workspaces data")
190190

191191
def check_for_bsl_terraform(version):
192+
# Ensure version is not pessimistic
193+
if version.startswith("~") or version.startswith("^"):
194+
# lets just default to true so we catch this during a migration. This can almost certainly be overridden.
195+
return True, "Pessimistic version, unable to determine if it's BSL Terraform"
196+
192197
if version == "latest" or semver.match(version, ">=1.5.7"):
193-
return True
194-
return False
198+
return True, None
199+
return False, None
195200

196201
for key, item in enumerate(data):
197202
warnings = []
@@ -202,8 +207,11 @@ def check_for_bsl_terraform(version):
202207
if item.get("attributes.vcs-repo.service-provider") is None:
203208
warnings.append("No VCS configuration")
204209

205-
if check_for_bsl_terraform(item.get("attributes.terraform-version")):
210+
bsl, warning = check_for_bsl_terraform(item.get("attributes.terraform-version"))
211+
if bsl:
206212
warnings.append("BSL Terraform version")
213+
if warning is not None:
214+
warnings.append(warning)
207215

208216
data[key]["warnings"] = ", ".join(warnings)
209217

0 commit comments

Comments
 (0)