Skip to content

Commit

Permalink
feat!: Drop old TFV version (< v0.6.0) support (#141)
Browse files Browse the repository at this point in the history
* !fix: Drop older TFV version support to reflect latest TFV package format

* Strip trailing 'v' from TFV version

* Use same TFV version

* Refactor TFV version handling

* Bump TFV to v0.6.0

* Extract TFV binary only

* Address PR comments, update terraform to 0.13.7

Co-authored-by: Bharath KKB <bharathkrishnakb@gmail.com>
  • Loading branch information
vovinacci and bharathkkb committed Dec 20, 2021
1 parent 93593a2 commit 2b9bf2c
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 9 deletions.
2 changes: 1 addition & 1 deletion modules/cloudbuild/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Functional examples and sample Cloud Build definitions are included in the [exam
| terraform\_sa\_email | Email for terraform service account. | `string` | n/a | yes |
| terraform\_sa\_name | Fully-qualified name of the terraform service account. | `string` | n/a | yes |
| terraform\_state\_bucket | Default state bucket, used in Cloud Build substitutions. | `string` | n/a | yes |
| terraform\_validator\_release | Default terraform-validator release. | `string` | `"v0.4.0"` | no |
| terraform\_validator\_release | Default terraform-validator release. | `string` | `"v0.6.0"` | no |
| terraform\_version | Default terraform version. | `string` | `"1.0.2"` | no |
| terraform\_version\_sha256sum | sha256sum for default terraform version. | `string` | `"7329f887cc5a5bda4bedaec59c439a4af7ea0465f83e3c1b0f4d04951e1181f4"` | no |

Expand Down
17 changes: 11 additions & 6 deletions modules/cloudbuild/cloudbuild_builder/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
FROM gcr.io/cloud-builders/gcloud-slim

# Use ARG so that values can be overriden by user/cloudbuild
ARG TERRAFORM_VERSION=0.13.6
ARG TERRAFORM_VERSION_SHA256SUM=55f2db00b05675026be9c898bdd3e8230ff0c5c78dd12d743ca38032092abfc9
ARG TERRAFORM_VALIDATOR_RELEASE=2021-03-22
ARG TERRAFORM_VERSION=0.13.7
ARG TERRAFORM_VERSION_SHA256SUM=4a52886e019b4fdad2439da5ff43388bbcc6cce9784fde32c53dcd0e28ca9957
ARG TERRAFORM_VALIDATOR_RELEASE=v0.6.0

ENV ENV_TERRAFORM_VERSION=$TERRAFORM_VERSION
ENV ENV_TERRAFORM_VERSION_SHA256SUM=$TERRAFORM_VERSION_SHA256SUM
Expand All @@ -31,9 +31,14 @@ RUN apt-get update && \
echo "${ENV_TERRAFORM_VERSION_SHA256SUM} terraform_linux_amd64.zip" > terraform_SHA256SUMS && \
sha256sum -c terraform_SHA256SUMS --status && \
unzip terraform_linux_amd64.zip -d /builder/terraform && \
rm -f terraform_linux_amd64.zip && \
gsutil cp gs://terraform-validator/releases/${ENV_TERRAFORM_VALIDATOR_RELEASE}/terraform-validator-linux-amd64 /builder/terraform/terraform-validator && \
chmod +x /builder/terraform/terraform-validator && \
rm -f terraform_linux_amd64.zip terraform_SHA256SUMS && \
TERRAFORM_VALIDATOR_VERSION="$(echo $ENV_TERRAFORM_VALIDATOR_RELEASE | sed -e 's/^v//')" && \
TERRAFORM_VALIDATOR_ARCHIVE="terraform-validator_linux_amd64-${TERRAFORM_VALIDATOR_VERSION}.tar.gz" && \
TERRAFORM_VALIDATOR_GCS_PATH="gs://terraform-validator/releases/${ENV_TERRAFORM_VALIDATOR_RELEASE}/${TERRAFORM_VALIDATOR_ARCHIVE}" && \
gsutil cp "${TERRAFORM_VALIDATOR_GCS_PATH}" . && \
tar -zxvf "${TERRAFORM_VALIDATOR_ARCHIVE}" --no-same-owner -C /builder/terraform terraform-validator && \
chmod 0755 /builder/terraform/terraform-validator && \
rm -f "${TERRAFORM_VALIDATOR_ARCHIVE}" && \
apt-get --purge -y autoremove && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
Expand Down
2 changes: 1 addition & 1 deletion modules/cloudbuild/cloudbuild_builder/cloudbuild.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,5 @@ steps:
substitutions:
_TERRAFORM_VERSION: '1.0.2' # default value
_TERRAFORM_VERSION_SHA256SUM: '7329f887cc5a5bda4bedaec59c439a4af7ea0465f83e3c1b0f4d04951e1181f4' # default value
_TERRAFORM_VALIDATOR_RELEASE: 'v0.4.0'
_TERRAFORM_VALIDATOR_RELEASE: 'v0.6.0'
images: ['${_REGION}-docker.pkg.dev/${PROJECT_ID}/${_REPOSITORY}/terraform']
7 changes: 6 additions & 1 deletion modules/cloudbuild/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,12 @@ variable "terraform_version_sha256sum" {
variable "terraform_validator_release" {
description = "Default terraform-validator release."
type = string
default = "v0.4.0"
default = "v0.6.0"

validation {
condition = try(tonumber(trimprefix(replace(var.terraform_validator_release, ".", ""), "v")), 0) >= 60
error_message = "Terraform-validator release must be >= v0.6.0."
}
}

variable "cloudbuild_plan_filename" {
Expand Down

0 comments on commit 2b9bf2c

Please sign in to comment.