mongodb / terraform-provider-mongodbatlas

Terraform MongoDB Atlas Provider: Deploy, update, and manage MongoDB Atlas infrastructure as code through HashiCorp Terraform
https://registry.terraform.io/providers/mongodb/mongodbatlas
Mozilla Public License 2.0
246 stars 179 forks source link

chore: Automatically updates Terraform version used in repository and test-suite #2755

Closed maastha closed 1 month ago

maastha commented 1 month ago

Description

Automatically updates Terraform version used in repository and test-suite.

This job will create a PR like https://github.com/mongodb/terraform-provider-mongodbatlas/pull/2756 when a change in supported TF versions is detected.

Link to any related issue(s): CLOUDP-243394

Type of change:

Required Checklist:

Further comments

lantoli commented 1 month ago

hi @maastha cc @EspenAlbert , some context that can help: Current value for TF_VERSION_LATEST is 1.9.x, so scripts/tools/GHA/features using it will pick the latest patch for 1.9, it's currently 1.9.8.

However there are some tools/features like .tool-versions, or generate-doc.sh and generate-docs-all.sh (for tfplugindocs generate) that need an explicit version like 1.9.8, 1.9.x can not be used in these cases. So in that case i think we should use the latest patch to make it equivalent to tools using the .X notation. E.g. I think it's better to have now 1.9.8 in .tool-versions instead of 1.9.0 so we can anticipate problems in the latest published TF version. Similarly for tfplugindocs generate tool.

Additionally I think it's better to use TF_VERSION_LATEST directly when format 1.9.x can be used, instead of having explicitly 1.9.x in those tools, so we don't need to update many files when a major TF version is released. ( note that TF_VERSION_LATEST doesn't need to be updated for minor releases)

edit: i see TF_VERSION_LATEST is used in 4 places, i'm ok if we want to delete the var and use 1.9.x directly, and update them when a major release comes. But I still think we should update patches in tools not supporting .X notation.

tf_var