mirror of
https://github.com/coder/coder.git
synced 2026-06-02 20:48:20 +00:00
build: lock provider version in provisioner/terraform/testdata (#23776)
The terraform testdata fixtures silently drift when the coder provider releases a new version. The .terraform.lock.hcl files are gitignored, .tf files use loose constraints (>= 2.0.0), and generate.sh always runs terraform init -upgrade. The Makefile only re-runs generate.sh when the terraform CLI version changes, not the provider version. Track a canonical lockfile and provider-version.txt in git. Change generate.sh to respect the lockfile by default (terraform init without -upgrade). Add --upgrade flag for intentional provider bumps, --check for cheap staleness detection in the Makefile, and a new update-terraform-testdata make target.
This commit is contained in:
committed by
GitHub
parent
cf500b95b9
commit
7fb93dbf0e
@@ -1260,11 +1260,21 @@ provisioner/terraform/testdata/.gen-golden: $(wildcard provisioner/terraform/tes
|
||||
touch "$@"
|
||||
|
||||
provisioner/terraform/testdata/version:
|
||||
if [[ "$(shell cat provisioner/terraform/testdata/version.txt)" != "$(shell terraform version -json | jq -r '.terraform_version')" ]]; then
|
||||
./provisioner/terraform/testdata/generate.sh
|
||||
@tf_match=true; \
|
||||
if [[ "$$(cat provisioner/terraform/testdata/version.txt)" != \
|
||||
"$$(terraform version -json | jq -r '.terraform_version')" ]]; then \
|
||||
tf_match=false; \
|
||||
fi; \
|
||||
if ! $$tf_match || \
|
||||
! ./provisioner/terraform/testdata/generate.sh --check; then \
|
||||
./provisioner/terraform/testdata/generate.sh; \
|
||||
fi
|
||||
.PHONY: provisioner/terraform/testdata/version
|
||||
|
||||
update-terraform-testdata:
|
||||
./provisioner/terraform/testdata/generate.sh --upgrade
|
||||
.PHONY: update-terraform-testdata
|
||||
|
||||
# Set the retry flags if TEST_RETRIES is set
|
||||
ifdef TEST_RETRIES
|
||||
GOTESTSUM_RETRY_FLAGS := --rerun-fails=$(TEST_RETRIES)
|
||||
|
||||
Reference in New Issue
Block a user