Skip to content

Commit

Permalink
chore: pin terraform versions in CI (runatlantis#4645)
Browse files Browse the repository at this point in the history
  • Loading branch information
lukemassa authored and terakoya76 committed Dec 31, 2024
1 parent 6c5ffff commit a69f064
Show file tree
Hide file tree
Showing 37 changed files with 398 additions and 0 deletions.
74 changes: 74 additions & 0 deletions scripts/pin_ci_terraform_providers.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#!/bin/bash

# Script to pin terraform providers in e2e tests

RANDOM_PROVIDER_VERSION="3.6.1"
NULL_PROVIDER_VERSION="3.2.2"

TEST_REPOS_DIR="server/controllers/events/testdata/test-repos"

for file in $(find $TEST_REPOS_DIR -name '*.tf')
do
basename=$(basename $file)
if [[ "$basename" == "versions.tf" ]]
then
continue
fi
if [[ "$basename" != "main.tf" ]]
then
echo "Found unexpected file: $file"
exit 1
fi
has_null_provider=false
has_random_provider=false

version_file="$(dirname $file)/versions.tf"
for resource in $(cat $file | grep '^resource' | awk '{print $2}' | tr -d '"')
do
if [[ "$resource" == "null_resource" ]]
then
has_null_provider=true
elif [[ "$resource" == "random_id" ]]
then
has_random_provider=true
else
echo "Unknown resource $resource in $file"
exit 1
fi
done
if ! $has_null_provider && ! $has_random_provider
then
echo "No providers needed for $file"
continue
fi
echo "Adding $version_file for $file"
rm -f $version_file
if $has_null_provider
then
echo 'provider "null" {}' >> $version_file
fi
if $has_random_provider
then
echo 'provider "random" {}' >> $version_file
fi
echo "terraform {" >> $version_file
echo " required_providers {" >> $version_file

if $has_random_provider
then
echo " random = {" >> $version_file
echo ' source = "hashicorp/random"' >> $version_file
echo " version = \"= $RANDOM_PROVIDER_VERSION\"" >> $version_file
echo " }" >> $version_file
fi
if $has_null_provider
then
echo " null = {" >> $version_file
echo ' source = "hashicorp/null"' >> $version_file
echo " version = \"= $NULL_PROVIDER_VERSION\"" >> $version_file
echo " }" >> $version_file
fi
echo " }" >> $version_file
echo "}" >> $version_file

done
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "random" {}
terraform {
required_providers {
random = {
source = "hashicorp/random"
version = "= 3.6.1"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "random" {}
terraform {
required_providers {
random = {
source = "hashicorp/random"
version = "= 3.6.1"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "random" {}
terraform {
required_providers {
random = {
source = "hashicorp/random"
version = "= 3.6.1"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "random" {}
terraform {
required_providers {
random = {
source = "hashicorp/random"
version = "= 3.6.1"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "random" {}
terraform {
required_providers {
random = {
source = "hashicorp/random"
version = "= 3.6.1"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "null" {}
terraform {
required_providers {
null = {
source = "hashicorp/null"
version = "= 3.2.2"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "random" {}
terraform {
required_providers {
random = {
source = "hashicorp/random"
version = "= 3.6.1"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "random" {}
terraform {
required_providers {
random = {
source = "hashicorp/random"
version = "= 3.6.1"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "random" {}
terraform {
required_providers {
random = {
source = "hashicorp/random"
version = "= 3.6.1"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
provider "random" {}
terraform {
required_providers {
random = {
source = "hashicorp/random"
version = "= 3.6.1"
}
}
}
Loading

0 comments on commit a69f064

Please sign in to comment.