From 26f54f344c0315a7add00ad94fe01ea0181b3e5d Mon Sep 17 00:00:00 2001
From: Marc Burnie <mburnie@amazon.com>
Date: Sat, 22 Feb 2025 05:19:25 +0000
Subject: [PATCH] Create Release Branch for version 0.28

---
 .gitlab-ci.yml                          | 332 ++++++++++++------------
 devops/aws/pipeline/override-stages.yml |  16 +-
 2 files changed, 178 insertions(+), 170 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 30825df0e..12ed29892 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,191 +1,197 @@
 variables:
-    AWS_BUILD_SUBDIR: provider/notification-aws/build-aws
-    AWS_TEST_SUBDIR: testing/notification-test-aws
-    AWS_CHART_SUBDIR: devops/aws/chart
-    AWS_SERVICE: notification
-    AWS_SERVICE_GATEWAY: osdu-gateway
-    AWS_ENVIRONMENT: dev
-    AWS_DEPLOY_TARGET: TF
-    AWS_EKS_DEPLOYMENT_NAME: os-notification
-
-    AZURE_SERVICE: notification
-    AZURE_BUILD_SUBDIR: provider/notification-azure
-    AZURE_TEST_SUBDIR: testing/notification-test-azure
-    AZURE_DEPLOYMENTS_SUBDIR: deployments/scripts/azure
-    AZURE_COVERAGE_THRESHOLD: 80
-
-    IBM_BUILD_SUBDIR: provider/notification-ibm
-    IBM_INT_TEST_SUBDIR: testing/notification-test-ibm
-    IBM_HELM_CONFIG_PATH: devops/ibm/ibm-notification-config
-    IBM_HELM_DEPLOY_PATH: devops/ibm/ibm-notification-deploy
-
-    ACCEPTANCE_TEST_DIR: "notification-acceptance-test"
+  AWS_BUILD_SUBDIR: provider/notification-aws/build-aws
+  AWS_TEST_SUBDIR: testing/notification-test-aws
+  AWS_CHART_SUBDIR: devops/aws/chart
+  AWS_SERVICE: notification
+  AWS_SERVICE_GATEWAY: osdu-gateway
+  AWS_ENVIRONMENT: dev
+  AWS_DEPLOY_TARGET: TF
+  AWS_EKS_DEPLOYMENT_NAME: os-notification
+
+  AZURE_SERVICE: notification
+  AZURE_BUILD_SUBDIR: provider/notification-azure
+  AZURE_TEST_SUBDIR: testing/notification-test-azure
+  AZURE_DEPLOYMENTS_SUBDIR: deployments/scripts/azure
+  AZURE_COVERAGE_THRESHOLD: 80
+
+  IBM_BUILD_SUBDIR: provider/notification-ibm
+  IBM_INT_TEST_SUBDIR: testing/notification-test-ibm
+  IBM_HELM_CONFIG_PATH: devops/ibm/ibm-notification-config
+  IBM_HELM_DEPLOY_PATH: devops/ibm/ibm-notification-deploy
+
+  ACCEPTANCE_TEST_DIR: "notification-acceptance-test"
 
 include:
-    - project: "osdu/platform/ci-cd-pipelines"
-      file: "standard-setup.yml"
+  - project: "osdu/platform/ci-cd-pipelines"
+    file: "standard-setup.yml"
+    ref: release/0.28
 
-    - project: "osdu/platform/ci-cd-pipelines"
-      file: "build/maven.yml"
+  - project: "osdu/platform/ci-cd-pipelines"
+    file: "build/maven.yml"
+    ref: release/0.28
 
-    - project: "osdu/platform/ci-cd-pipelines"
-      file: "scanners/fossa-maven.yml"
+  - project: "osdu/platform/ci-cd-pipelines"
+    file: "scanners/fossa-maven.yml"
+    ref: release/0.28
 
-    - project: "osdu/platform/ci-cd-pipelines"
-      file: "scanners/gitlab-ultimate.yml"
+  - project: "osdu/platform/ci-cd-pipelines"
+    file: "scanners/gitlab-ultimate.yml"
+    ref: release/0.28
 
-    - project: "osdu/platform/ci-cd-pipelines"
-      file: "cloud-providers/azure.yml"
+  - project: "osdu/platform/ci-cd-pipelines"
+    file: "cloud-providers/azure.yml"
+    ref: release/0.28
 
-    - project: "osdu/platform/ci-cd-pipelines"
-      file: "cloud-providers/gc-global.yml"
+  - project: "osdu/platform/ci-cd-pipelines"
+    file: "cloud-providers/gc-global.yml"
+    ref: release/0.28
 
-    - project: "osdu/platform/ci-cd-pipelines"
-      file: "cloud-providers/ibm.yml"
+  - project: "osdu/platform/ci-cd-pipelines"
+    file: "cloud-providers/ibm.yml"
+    ref: release/0.28
 
-    - project: "osdu/platform/ci-cd-pipelines"
-      file: "cloud-providers/core-global.yml"
+  - project: "osdu/platform/ci-cd-pipelines"
+    file: "cloud-providers/core-global.yml"
+    ref: release/0.28
 
-    # aws
-    - local: "devops/aws/pipeline/override-stages.yml"
+  # aws
+  - local: "devops/aws/pipeline/override-stages.yml"
 
-    - local: "devops/gc/pipeline/override-stages.yml"
+  - local: "devops/gc/pipeline/override-stages.yml"
 
-    - local: "/publish.yml"
-
-    - local: "devops/core-plus/pipeline/override-stages.yml"
+  - local: "/publish.yml"
 
+  - local: "devops/core-plus/pipeline/override-stages.yml"
 
 .maven:
-    image: maven:3.9.3-eclipse-temurin-17
-    tags: ["osdu-medium"]
-    variables:
-        MAVEN_REPO_PATH: "$CI_PROJECT_DIR/.m2/repository"
-        MAVEN_CLI_OPTS: "--batch-mode --settings=$CI_PROJECT_DIR/.mvn/community-maven.settings.xml"
-
-    cache:
-        paths:
-            - $MAVEN_REPO_PATH
-
-    artifacts:
-        paths:
-            - ./**/target/*.jar
-            - ./**/maven-*-output.txt
-        when: always
-        expire_in: 2 days
-
-    before_script:
-        - | # Check for the presence of a maven wrapper script
-            apt-get update && apt-get install -y python3
-            if [ -e "$CI_PROJECT_DIR/mvnw" ]; then
-              export MAVEN_BINARY="$CI_PROJECT_DIR/mvnw"
-              unset MAVEN_CONFIG
-              mkdir -pv .mvn/wrapper
-            else
-              export MAVEN_BINARY="mvn"
-            fi
-        - export MAVEN="$MAVEN_BINARY $MAVEN_CLI_OPTS -Dmaven.repo.local=$MAVEN_REPO_PATH"
-        - echo $MAVEN_BINARY
-        - echo $MAVEN_CLI_OPTS
-        - echo $MAVEN_REPO_PATH
-        - echo $MAVEN
-        - mkdir -pv $MAVEN_REPO_PATH
-        - export ALL_MAVEN_BUILD_DIRS_Z=$(mktemp)
-        - python3 --version
-
-        # This scans for all pom.xml files that aren't listed as a child pom (as
-        # determine by the presence of a <parent> tag).
-        - |
-            (python3 | sort -z > $ALL_MAVEN_BUILD_DIRS_Z) <<EOF
-            from xml.dom.minidom import parse
-            import os
-            import sys
-
-            allPomFiles = set()
-            submoduleFiles = set()
-
-            for root, dirnames, filenames in os.walk(os.environ['CI_PROJECT_DIR']):
-                if 'pom.xml' in filenames:
-                    pomFile = os.path.join(root, 'pom.xml')
-                    allPomFiles.add(pomFile)
-
-                    dom = parse(pomFile)
-                    for modules in dom.getElementsByTagName('modules'):
-                        for module in modules.getElementsByTagName('module'):
-                            submoduleFiles.add(os.path.join(root, module.firstChild.nodeValue, "pom.xml"))
-
-            for pomFile in allPomFiles:
-                if pomFile not in submoduleFiles:
-                    dir = os.path.dirname(pomFile)
-                    sys.stdout.write(dir + '\0')
-            EOF
-        - xargs -0rn 1 echo < $ALL_MAVEN_BUILD_DIRS_Z
-        # This creates a script for running maven, capturing output to a file.
-        # - First argument is the directory to build from
-        # - Second argument is the name to use for the logfile
-        # - The remaining arguments are the maven command to run
-        - export MAVEN_BUILD=$(tempfile -m 755 -p build -s .sh)
-        - echo "#!/bin/bash" > $MAVEN_BUILD
-        - |
-            cat >> $MAVEN_BUILD <<EOF
-            id=maven_build_\$(echo "\$@" | sha1sum | head -c 7)
-            cd "\$1"; shift
-            outputFile="\$1"; shift
-
-            echo "********************************************************************************"
-            echo -e "\e[0Ksection_start:\$(date +%s):\${id}\r\e[0K\e[1m\$(pwd)\e[0m"
-            echo -e "\e[32;1m\$MAVEN" "\$@" "\e[0m"
-
-            if \$MAVEN "\$@" > "\$outputFile" 2>&1; then
-                tail -n 25 "\$outputFile";
-                echo -e "\e[36m**** Showing the last 25 lines of the passed build (above). See Job artifacts for full log details *****\e[0m";
-                echo -e "\e[0Ksection_end:\$(date +%s):\${id}\r\e[0K"
-            else
-                tail -n 200 "\$outputFile";
-                echo -e "\e[31m**** Showing the last 200 lines of the failed build (above). See Job artifacts for full log details *****\e[0m";
-                echo -e "\e[0Ksection_end:\$(date +%s):\${id}\r\e[0K"
-                exit 255;
-            fi
-            EOF
-
-        # This creates a script for applying the $MAVEN_BUILD script to all build directories
-        - export MAVEN_FOREACH=$(tempfile -m 755 -p fr-ec -s .sh)
-        - echo "#!/bin/sh" > $MAVEN_FOREACH
-        - echo 'xargs -0rI {} $MAVEN_BUILD {} "$@" < $ALL_MAVEN_BUILD_DIRS_Z' >> $MAVEN_FOREACH
-
+  image: maven:3.9.3-eclipse-temurin-17
+  tags: [ "osdu-medium" ]
+  variables:
+    MAVEN_REPO_PATH: "$CI_PROJECT_DIR/.m2/repository"
+    MAVEN_CLI_OPTS: "--batch-mode --settings=$CI_PROJECT_DIR/.mvn/community-maven.settings.xml"
+
+  cache:
+    paths:
+      - $MAVEN_REPO_PATH
+
+  artifacts:
+    paths:
+      - ./**/target/*.jar
+      - ./**/maven-*-output.txt
+    when: always
+    expire_in: 2 days
+
+  before_script:
+    - | # Check for the presence of a maven wrapper script
+      apt-get update && apt-get install -y python3
+      if [ -e "$CI_PROJECT_DIR/mvnw" ]; then
+        export MAVEN_BINARY="$CI_PROJECT_DIR/mvnw"
+        unset MAVEN_CONFIG
+        mkdir -pv .mvn/wrapper
+      else
+        export MAVEN_BINARY="mvn"
+      fi
+    - export MAVEN="$MAVEN_BINARY $MAVEN_CLI_OPTS -Dmaven.repo.local=$MAVEN_REPO_PATH"
+    - echo $MAVEN_BINARY
+    - echo $MAVEN_CLI_OPTS
+    - echo $MAVEN_REPO_PATH
+    - echo $MAVEN
+    - mkdir -pv $MAVEN_REPO_PATH
+    - export ALL_MAVEN_BUILD_DIRS_Z=$(mktemp)
+    - python3 --version
+
+    # This scans for all pom.xml files that aren't listed as a child pom (as
+    # determine by the presence of a <parent> tag).
+    - |
+      (python3 | sort -z > $ALL_MAVEN_BUILD_DIRS_Z) <<EOF
+      from xml.dom.minidom import parse
+      import os
+      import sys
+
+      allPomFiles = set()
+      submoduleFiles = set()
+
+      for root, dirnames, filenames in os.walk(os.environ['CI_PROJECT_DIR']):
+          if 'pom.xml' in filenames:
+              pomFile = os.path.join(root, 'pom.xml')
+              allPomFiles.add(pomFile)
+
+              dom = parse(pomFile)
+              for modules in dom.getElementsByTagName('modules'):
+                  for module in modules.getElementsByTagName('module'):
+                      submoduleFiles.add(os.path.join(root, module.firstChild.nodeValue, "pom.xml"))
+
+      for pomFile in allPomFiles:
+          if pomFile not in submoduleFiles:
+              dir = os.path.dirname(pomFile)
+              sys.stdout.write(dir + '\0')
+      EOF
+    - xargs -0rn 1 echo < $ALL_MAVEN_BUILD_DIRS_Z
+    # This creates a script for running maven, capturing output to a file.
+    # - First argument is the directory to build from
+    # - Second argument is the name to use for the logfile
+    # - The remaining arguments are the maven command to run
+    - export MAVEN_BUILD=$(tempfile -m 755 -p build -s .sh)
+    - echo "#!/bin/bash" > $MAVEN_BUILD
+    - |
+      cat >> $MAVEN_BUILD <<EOF
+      id=maven_build_\$(echo "\$@" | sha1sum | head -c 7)
+      cd "\$1"; shift
+      outputFile="\$1"; shift
+
+      echo "********************************************************************************"
+      echo -e "\e[0Ksection_start:\$(date +%s):\${id}\r\e[0K\e[1m\$(pwd)\e[0m"
+      echo -e "\e[32;1m\$MAVEN" "\$@" "\e[0m"
+
+      if \$MAVEN "\$@" > "\$outputFile" 2>&1; then
+          tail -n 25 "\$outputFile";
+          echo -e "\e[36m**** Showing the last 25 lines of the passed build (above). See Job artifacts for full log details *****\e[0m";
+          echo -e "\e[0Ksection_end:\$(date +%s):\${id}\r\e[0K"
+      else
+          tail -n 200 "\$outputFile";
+          echo -e "\e[31m**** Showing the last 200 lines of the failed build (above). See Job artifacts for full log details *****\e[0m";
+          echo -e "\e[0Ksection_end:\$(date +%s):\${id}\r\e[0K"
+          exit 255;
+      fi
+      EOF
+
+    # This creates a script for applying the $MAVEN_BUILD script to all build directories
+    - export MAVEN_FOREACH=$(tempfile -m 755 -p fr-ec -s .sh)
+    - echo "#!/bin/sh" > $MAVEN_FOREACH
+    - echo 'xargs -0rI {} $MAVEN_BUILD {} "$@" < $ALL_MAVEN_BUILD_DIRS_Z' >> $MAVEN_FOREACH
 
 download_plugins:
-    image: maven:3.8.3-openjdk-17-slim
-    stage: build
+  image: maven:3.8.3-openjdk-17-slim
+  stage: build
+  variables:
+    OQM_PACKAGE_REGISRTY_URL: "https://community.opengroup.org/api/v4/projects/1450/packages/maven"
+    OQM_VERSION: "0.25.0-rc1"
+    APD_PACKAGE_REGISTRY_URL: "https://community.opengroup.org/api/v4/projects/1445/packages/maven"
+    APD_VERSION: "0.27.0-rc1"
+  artifacts:
+    paths:
+      - ./tmp/*.jar
+    when: always
+    expire_in: 1 days
+  script:
+    - mvn dependency:copy -DrepoUrl=$OQM_PACKAGE_REGISRTY_URL -Dartifact="org.opengroup.osdu:os-oqm-rabbitmq:$OQM_VERSION:jar:plugin" -Dtransitive=false -DoutputDirectory="./tmp"
+    - mvn dependency:copy -DrepoUrl=$APD_PACKAGE_REGISTRY_URL -Dartifact="org.opengroup.osdu:apd-openid:$APD_VERSION:jar:plugin" -Dtransitive=false -DoutputDirectory="./tmp"
+  only:
     variables:
-        OQM_PACKAGE_REGISRTY_URL: "https://community.opengroup.org/api/v4/projects/1450/packages/maven"
-        OQM_VERSION: "0.25.0-rc1"
-        APD_PACKAGE_REGISTRY_URL: "https://community.opengroup.org/api/v4/projects/1445/packages/maven"
-        APD_VERSION: "0.27.0-rc1"
-    artifacts:
-        paths:
-            - ./tmp/*.jar
-        when: always
-        expire_in: 1 days
-    script:
-        - mvn dependency:copy -DrepoUrl=$OQM_PACKAGE_REGISRTY_URL -Dartifact="org.opengroup.osdu:os-oqm-rabbitmq:$OQM_VERSION:jar:plugin" -Dtransitive=false -DoutputDirectory="./tmp"
-        - mvn dependency:copy -DrepoUrl=$APD_PACKAGE_REGISTRY_URL -Dartifact="org.opengroup.osdu:apd-openid:$APD_VERSION:jar:plugin" -Dtransitive=false -DoutputDirectory="./tmp"
-    only:
-        variables:
-            - $CORE == '1'
+      - $CORE == '1'
 
 gemnasium-maven-dependency_scanning:
-    variables:
-        DS_JAVA_VERSION: 17
+  variables:
+    DS_JAVA_VERSION: 17
 
 azure_containerize:
-    variables:
-        AZURE_CONTAINERIZE_REPOSITORY: "-b jdk-17 https://gitlab-ci-token:${CI_JOB_TOKEN}@community.opengroup.org/osdu/platform/deployment-and-operations/base-containers-azure/service-base-image"
+  variables:
+    AZURE_CONTAINERIZE_REPOSITORY: "-b jdk-17 https://gitlab-ci-token:${CI_JOB_TOKEN}@community.opengroup.org/osdu/platform/deployment-and-operations/base-containers-azure/service-base-image"
 
 azure_test:
-    image: community.opengroup.org:5555/osdu/platform/deployment-and-operations/base-containers-azure/azure-maven17:v0.0.1
+  image: community.opengroup.org:5555/osdu/platform/deployment-and-operations/base-containers-azure/azure-maven17:v0.0.1
 
 fossa-analyze:
-    image: $CI_REGISTRY/divido/fossa-with-cache:v0.9-jdk17
+  image: $CI_REGISTRY/divido/fossa-with-cache:v0.9-jdk17
 fossa-check-notice:
-    image: $CI_REGISTRY/divido/fossa-with-cache:v0.9-jdk17
+  image: $CI_REGISTRY/divido/fossa-with-cache:v0.9-jdk17
diff --git a/devops/aws/pipeline/override-stages.yml b/devops/aws/pipeline/override-stages.yml
index 6b6ef6755..b999c36a3 100644
--- a/devops/aws/pipeline/override-stages.yml
+++ b/devops/aws/pipeline/override-stages.yml
@@ -15,12 +15,16 @@
 include:
   - project: "osdu/platform/ci-cd-pipelines"
     file: "cloud-providers/aws-global.yml"
+    ref: release/0.28
   - project: "osdu/platform/ci-cd-pipelines"
     file: "cloud-providers/aws-global-variables.yml"
+    ref: release/0.28
   - project: "osdu/platform/ci-cd-pipelines"
     file: "cloud-providers/aws-global.yml"
+    ref: release/0.28
   - project: "osdu/platform/ci-cd-pipelines"
     file: "cloud-providers/aws-maven.yml"
+    ref: release/0.28
 
 aws-containerize:
   extends:
@@ -28,7 +32,7 @@ aws-containerize:
     - .aws_common_variables
     - .aws_variables
   stage: containerize
-  needs: ['compile-and-unit-test']
+  needs: [ 'compile-and-unit-test' ]
   script:
     - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
     - $(aws ecr get-login --no-include-email --region $AWS_ECR_REGION)
@@ -51,7 +55,6 @@ aws-containerize:
     variables:
       - $AWS == '1'
 
-
 aws-test-java:
   image: $CI_REGISTRY/osdu/platform/deployment-and-operations/base-containers-aws/aws-maven/aws-maven:v2.1
   extends:
@@ -60,12 +63,12 @@ aws-test-java:
     - .aws_common_variables
     - .aws_variables
   stage: integration
-  needs: [{ job: 'aws-update-tf', optional: true }, { job: 'aws-update-helm', optional: true }, { job: 'aws-update-eks', optional: true }]
+  needs: [ { job: 'aws-update-tf', optional: true }, { job: 'aws-update-helm', optional: true }, { job: 'aws-update-eks', optional: true } ]
   retry: 1
   before_script:
-    - !reference [.maven, before_script]
-    - !reference [.aws, before_script]
-    - !reference [.aws_variables, before_script]
+    - !reference [ .maven, before_script ]
+    - !reference [ .aws, before_script ]
+    - !reference [ .aws_variables, before_script ]
   script:
     - export KUBECONFIG=/tmp/kubeconfig-${RANDOM}.yaml
     - aws eks update-kubeconfig --region $AWS_REGION --name $EKS_CLUSTER_NAME --role-arn $EKS_CLUSTER_MGMT_ROLE
@@ -90,4 +93,3 @@ aws-test-java:
     paths:
       - $INTEGRATION_TEST_DIR
     expire_in: 2 days
-
-- 
GitLab