From f6dc43e8921de42666a48bfdcc1bef2ddcbb6e77 Mon Sep 17 00:00:00 2001
From: Timo Furrer <tfurrer@gitlab.com>
Date: Tue, 23 Jan 2024 11:12:03 +0100
Subject: [PATCH] Remove unneccessary variables in backports

---
 .gitlab-ci.yml                        |  2 +-
 Makefile                              |  6 ++++++
 backports/OpenTofu/Base.gitlab-ci.yml | 14 --------------
 3 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0d8c836..5a5c818 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -87,7 +87,7 @@ check-backports:
   needs: []
   image: alpine:latest
   before_script:
-    - apk add coreutils make git sed
+    - apk add coreutils make git sed yq diffutils patch
   script:
     - make backports
     - git diff --exit-code
diff --git a/Makefile b/Makefile
index a764c39..684b3e1 100644
--- a/Makefile
+++ b/Makefile
@@ -42,4 +42,10 @@ backports:
 	@sed -i $(BACKPORTS_BASE_FILE) -e 's/$$\[\[ inputs.opentofu_version \]\]/$$OPENTOFU_VERSION/'
 	@sed -i $(BACKPORTS_BASE_FILE) -e 's/$$\[\[ inputs.root_dir \]\]/$$TF_ROOT/'
 	@sed -i $(BACKPORTS_BASE_FILE) -e 's/$$\[\[ inputs.state_name \]\]/$$TF_STATE_NAME/'
+	@sed -i $(BACKPORTS_BASE_FILE) -e '/TF_STATE_NAME: $$TF_STATE_NAME/d'
+	@sed -i $(BACKPORTS_BASE_FILE) -e '/TF_ROOT: $$TF_ROOT/d'
+
+	@# Remove empty variable blocks - yq doesn't preserve white spaces, thus the patching ...
+	@yq e 'del(.*.variables | select(length==0))' backports/OpenTofu/Base.gitlab-ci.yml | diff -Bw backports/OpenTofu/Base.gitlab-ci.yml - | patch backports/OpenTofu/Base.gitlab-ci.yml -
+
 	@echo "Generated $(BACKPORTS_BASE_FILE)"
diff --git a/backports/OpenTofu/Base.gitlab-ci.yml b/backports/OpenTofu/Base.gitlab-ci.yml
index 5f035b9..e89f784 100644
--- a/backports/OpenTofu/Base.gitlab-ci.yml
+++ b/backports/OpenTofu/Base.gitlab-ci.yml
@@ -65,8 +65,6 @@ variables:
     key: "$TF_ROOT"
     paths:
       - $TF_ROOT/.terraform/
-  variables:
-    TF_ROOT: $TF_ROOT
   image:
     name: '$GITLAB_OPENTOFU_IMAGE_REGISTRY_BASE/gitlab-opentofu:$GITLAB_OPENTOFU_VERSION-opentofu$OPENTOFU_VERSION'
   script:
@@ -83,9 +81,6 @@ variables:
     key: "$TF_ROOT"
     paths:
       - $TF_ROOT/.terraform/
-  variables:
-    TF_ROOT: $TF_ROOT
-    TF_STATE_NAME: $TF_STATE_NAME
   image:
     name: '$GITLAB_OPENTOFU_IMAGE_REGISTRY_BASE/gitlab-opentofu:$GITLAB_OPENTOFU_VERSION-opentofu$OPENTOFU_VERSION'
   script:
@@ -118,9 +113,6 @@ variables:
     key: "$TF_ROOT"
     paths:
       - $TF_ROOT/.terraform/
-  variables:
-    TF_ROOT: $TF_ROOT
-    TF_STATE_NAME: $TF_STATE_NAME
   image:
     name: '$GITLAB_OPENTOFU_IMAGE_REGISTRY_BASE/gitlab-opentofu:$GITLAB_OPENTOFU_VERSION-opentofu$OPENTOFU_VERSION'
   script:
@@ -141,9 +133,6 @@ variables:
     key: "$TF_ROOT"
     paths:
       - $TF_ROOT/.terraform/
-  variables:
-    TF_ROOT: $TF_ROOT
-    TF_STATE_NAME: $TF_STATE_NAME
   image:
     name: '$GITLAB_OPENTOFU_IMAGE_REGISTRY_BASE/gitlab-opentofu:$GITLAB_OPENTOFU_VERSION-opentofu$OPENTOFU_VERSION'
   script:
@@ -164,9 +153,6 @@ variables:
     key: "$TF_ROOT"
     paths:
       - $TF_ROOT/.terraform/
-  variables:
-    TF_ROOT: $TF_ROOT
-    TF_STATE_NAME: $TF_STATE_NAME
   image:
     name: '$GITLAB_OPENTOFU_IMAGE_REGISTRY_BASE/gitlab-opentofu:$GITLAB_OPENTOFU_VERSION-opentofu$OPENTOFU_VERSION'
   script:
-- 
GitLab