From 6562dc4daf2e27f0dd230eb64f226b8d9feb3645 Mon Sep 17 00:00:00 2001
From: Pieter van Staden <pieter@bob.co.za>
Date: Mon, 5 May 2025 14:54:30 +0200
Subject: [PATCH] INFRASTRUCTURE :: Update the check to make sure the tag is
 created from the prod branch

---
 .gitlab-ci.yml | 17 ++++++++++-------
 composer.json  |  2 +-
 etc/module.xml |  2 +-
 package.json   |  2 +-
 4 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f8e0203..a8ea2ed 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -33,15 +33,18 @@ tag_deploy:
     - AWS_SECRET_ACCESS_KEY=$(eval echo -e "\$$AWS_SECRET_ACCESS_KEY_KEY")
     - export AWS_ACCESS_KEY_ID
     - export AWS_SECRET_ACCESS_KEY
-    - git fetch origin prod
-    - TAG_BRANCH=$(git for-each-ref --format='%(refname:short)' --contains $CI_COMMIT_SHA refs/heads/ | grep "^prod$" || echo "")
-    - echo "Current branches containing this commit: $(git for-each-ref --format='%(refname:short)' --contains $CI_COMMIT_SHA refs/heads/)"
+    # Ensure all branches and tags are fetched
+    - echo "Fetching all branches and tags..."
+    - git fetch --all
+    - git fetch --tags
+    # Verify the branch of origin for the tag
     - |
-      if [ -z "$TAG_BRANCH" ]; then
-        echo "Tag ${CI_COMMIT_TAG} was not created on the prod branch."
-        exit 1
+      branch=$(git branch -r --contains "${CI_COMMIT_SHA}" | grep -v 'tags/' | awk '{print $1}' | sed 's/origin\///' | head -n 1)
+      if [ "$branch" = "prod" ]; then
+        echo "Tag ${CI_COMMIT_TAG} is from the prod branch.";
       else
-        echo "Tag ${CI_COMMIT_TAG} was created on the prod branch."
+        echo "Tag ${CI_COMMIT_TAG} is not from the prod branch. It was created from the '${branch}' branch.";
+        exit 1;
       fi
   script:
     - "TAG_ARCHIVE_URL=https://gitlab.bob.co.za/bob-public-utils/bobgo-magento-extension/-/archive/${CI_COMMIT_TAG}/bobgo-magento-extension-${CI_COMMIT_TAG}.zip"
diff --git a/composer.json b/composer.json
index d4423e2..ffbe058 100644
--- a/composer.json
+++ b/composer.json
@@ -2,7 +2,7 @@
     "name": "bobgo/bobgo-magento-extension",
     "description": "Smart shipping and order management solution in South Africa",
     "type": "magento2-module",
-    "version": "1.0.55",
+    "version": "1.0.56",
     "authors": [
         {
             "name": "Bob Go",
diff --git a/etc/module.xml b/etc/module.xml
index 1360275..e6f0120 100644
--- a/etc/module.xml
+++ b/etc/module.xml
@@ -7,7 +7,7 @@
  */
 -->
 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
-    <module name="BobGroup_BobGo" setup_version="1.0.55">
+    <module name="BobGroup_BobGo" setup_version="1.0.56">
         <sequence>
             <module name="Magento_Webapi"/>
             <module name="Magento_Catalog"/>
diff --git a/package.json b/package.json
index e611546..3d9d7da 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "name": "bobgo-magento-plugin",
   "description": "Bob Go magento plugin",
-  "version": "1.0.55",
+  "version": "1.0.56",
   "license": "GPL-2.0-or-later",
   "scripts": {
     "prepare": "husky install",
-- 
GitLab