diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 000319c05367950765b153b71a6568af570c3787..d9e29c4d5174399e18063581866403528b92ae81 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -248,13 +248,17 @@ unit test notification:
         TEST_PREFIX2: "shared/workspaces/test/"
     extends: .unit-test
 
+
+###############################################
+# Test Stages for Support Modules
+###############################################
 unit test messaging:
   interruptible: true
   stage: unit-test
   variables:
     SERVICE_NAME: "messaging"
     PATH_PREFIX: "shared/"
-  extends: .unit-test
+  extends: .unit-test-other
 
 
 ###############################################
diff --git a/ci/unit-test-other.template.yml b/ci/unit-test-other.template.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f71c38ac37e7dc27e3e2fca70a07cc6e5a09f8b4
--- /dev/null
+++ b/ci/unit-test-other.template.yml
@@ -0,0 +1,55 @@
+# CI Build Template
+.build-package:
+    image: python:3.10
+    script:
+        - apt-get update -y && apt-get install jq -y
+        # Enter the module directory
+        - export CAPO_PATH=$PWD
+        - export CAPO_PROFILE=docker
+        - WD=$PWD
+        - cd ${PATH_PREFIX}${SERVICE_NAME}
+
+        # Make symbolic link of python3 install to where it's installed on dev
+        - mkdir -p /home/ssa/bin
+        - ln -s "$(which python3)" /home/ssa/bin/python3.10
+        - export PATH=$PATH:/home/ssa/bin
+
+        # Install build, poetry and pytest
+        - pip install poetry
+        - poetry env use /home/ssa/bin/python3.10
+
+        # Install the packages for testing
+        - poetry install --with test
+        - $(poetry env info -p)/bin/pytest . --junitxml=tests.xml --cov=${SERVICE_NAME} --cov-report=
+        - mv ./.coverage ${CI_PROJECT_DIR}/.coverage.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}
+        - mv ./tests.xml ${CI_PROJECT_DIR}/tests.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}.xml
+    artifacts:
+        paths:
+            - .coverage.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}
+            - ${CI_PROJECT_DIR}/tests.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}.xml
+        reports:
+            junit:
+                - ${CI_PROJECT_DIR}/tests.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}.xml
+    rules:
+        - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /(^[0-9](\.[0-9])*)-DEVELOPMENT/'
+          variables:
+              IMAGE_TAG: $CI_COMMIT_BRANCH
+          changes:
+              - ${PATH_PREFIX}${SERVICE_NAME}/**/*
+        - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+          variables:
+              IMAGE_TAG: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
+          changes:
+              - ${PATH_PREFIX}${SERVICE_NAME}/**/*
+        - if: '$CI_COMMIT_TAG =~ /^end-of-sprint-[0-9]+/ || $CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]+-rc[0-9]+/ || $CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]+\.[0.9]+-rc[0-9]+/'
+          variables:
+              IMAGE_TAG: $CI_COMMIT_TAG
+          changes:
+              - ${PATH_PREFIX}${SERVICE_NAME}/**/*
+        - if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]+$/ || $CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/'
+          variables:
+              IMAGE_TAG: $CI_COMMIT_TAG
+          changes:
+              - ${PATH_PREFIX}${SERVICE_NAME}/**/*
+
+    dependencies: [ ]
\ No newline at end of file
diff --git a/ci/unit-test.template.yml b/ci/unit-test.template.yml
index 78d6d3074e1fc13a375c34150de7e9cecf3d7cb7..f223564f224fd4d1792716c0a60f4c151a54a346 100644
--- a/ci/unit-test.template.yml
+++ b/ci/unit-test.template.yml
@@ -5,14 +5,9 @@
         - cd ${PATH_PREFIX}${SERVICE_NAME}
         # use the poetry virtual environment and packages
         - poetry install --with test
-        - |
-          if [ -z "${PATH_PREFIX2+x}" ]; then
-            $(poetry env info -p)/bin/pytest . --junitxml=tests.xml --cov=${SERVICE_NAME} --cov-report=
-          else
-            $(poetry env info -p)/bin/pytest . --junitxml=tests-service.xml --cov=${SERVICE_NAME} --cov-report=
-            $(poetry env info -p)/bin/pytest ../../${TEST_PREFIX2}${SERVICE_NAME} --junitxml=tests-shared.xml --cov=../../${PATH_PREFIX2}${SERVICE_NAME} --cov-append --cov-report=
-            $(poetry env info -p)/bin/junitparser merge tests-service.xml tests-shared.xml tests.xml
-          fi
+        - $(poetry env info -p)/bin/pytest . --junitxml=tests-service.xml --cov=${SERVICE_NAME} --cov-report=
+        - $(poetry env info -p)/bin/pytest ../../${TEST_PREFIX2}${SERVICE_NAME} --junitxml=tests-shared.xml --cov=../../${PATH_PREFIX2}${SERVICE_NAME} --cov-append --cov-report=
+        - $(poetry env info -p)/bin/junitparser merge tests-service.xml tests-shared.xml tests.xml
         - mv ./.coverage ${CI_PROJECT_DIR}/.coverage.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}
         - mv ./tests.xml ${CI_PROJECT_DIR}/tests.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}.xml
     artifacts:
@@ -28,6 +23,7 @@
             IMAGE_TAG: $CI_COMMIT_BRANCH
           changes:
             - ${PATH_PREFIX}${SERVICE_NAME}/**/*
+            - ${PATH_PREFIX2}${SERVICE_NAME}/*
         - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
           variables:
             IMAGE_TAG: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
@@ -39,10 +35,12 @@
             IMAGE_TAG: $CI_COMMIT_TAG
           changes:
             - ${PATH_PREFIX}${SERVICE_NAME}/**/*
+            - ${PATH_PREFIX2}${SERVICE_NAME}/*
         - if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]+$/ || $CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/'
           variables:
             IMAGE_TAG: $CI_COMMIT_TAG
           changes:
             - ${PATH_PREFIX}${SERVICE_NAME}/**/*
+            - ${PATH_PREFIX2}${SERVICE_NAME}/*
 
     dependencies: []