September Release

Merge request reports

Loading
+1 −0
Changes for src/main/resources/application.properties: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ quarkus.kubernetes-client.namespace=default
%prod.quarkus.otel.enabled=true
%prod.quarkus.otel.metrics.enabled=true
%prod.quarkus.otel.exporter.otlp.traces.endpoint=http://otel-collector:4317
%prod.quarkus.otel.exporter.otlp.metrics.endpoint=http://otel-collector:4317
%prod.quarkus.otel.exporter.otlp.traces.headers=authorization=Bearer my_secret
%prod.quarkus.log.console.format=%d{HH:mm:ss} %-5p traceId=%X{traceId}, parentId=%X{parentId}, spanId=%X{spanId}, sampled=%X{sampled} [%c{2.}] (%t) %s%e%n

+1 −1
Changes for src/test/java/org/etsi/osl/hypo/clients/telemetry/service/KubernetesServiceTest.java: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -7,8 +7,8 @@ import static org.junit.jupiter.api.Assertions.*;
import io.fabric8.kubernetes.api.model.Secret;
import io.fabric8.kubernetes.api.model.SecretBuilder;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
import io.quarkus.test.junit.QuarkusTest;
import io.quarkus.test.kubernetes.client.KubernetesServer;
import io.quarkus.test.kubernetes.client.KubernetesTestServer;
import io.quarkus.test.kubernetes.client.WithKubernetesTestServer;
import jakarta.inject.Inject;
+57 −37
Changes for .gitlab-ci.yml: 57 added lines, 37 removed lines.
Original line number Diff line number Diff line
@@ -6,8 +6,8 @@ stages:
  - dev_image_build
  - dev_deploy
  - dev_workflows
  - develop_package
  - develop_image_build_release
  - develop_image_tag
  - validate_main_source
  - prod_extract_next_release
  - prod_package
  - prod_release
@@ -41,7 +41,7 @@ dev_tests_job:
  stage: dev_test
  tags:
    - hypo
  image: labs.etsi.org:5050/osl/hypo/code/org.etsi.osl.hypo.ops/cicd/integration.tests/maven:3.8.3-openjdk-17-slim
  image: labs.etsi.org:5050/osl/hypo/code/org.etsi.osl.hypo.ops/cicd/integration.tests/maven:3.9.16-eclipse-temurin-17

  before_script:
    - curl -fsSL https://get.docker.com -o get-docker.sh
@@ -62,6 +62,8 @@ dev_tests_job:
  script:
    - chmod +x ./mvnw
    - ./mvnw ${MAVEN_CLI_OPTS} test ${MAVEN_OPTS} -Dapi.version=1.44 -Ddocker.host=unix:///var/run/docker.sock
  after_script:
    - docker container prune -f || true
  artifacts:
    # Upload artifacts even if job fails.
    when: always
@@ -138,7 +140,7 @@ dev_package_job:
    paths:
      - target/**
  rules:
    - if: ' $CI_PIPELINE_SOURCE == "merge_request_event"'
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop"'

dev_image_build_job:
  stage: dev_image_build
@@ -146,18 +148,29 @@ dev_image_build_job:
    - hypo
  image:
    name: labs.etsi.org:5050/osl/hypo/code/org.etsi.osl.hypo.ops/cicd/integration.tests/docker:29.1.3
    pull_policy: [always, if-not-present]
  variables:
    BUILT_IMAGE: "$CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA"
  before_script:
    - docker info > /dev/null
    - apk add --no-cache curl
  script:
    - echo -n $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
    - docker build --network host --pull -t $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA -f src/main/docker/Dockerfile.jvm .
    - docker push $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA
    - docker rmi $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA

    # Store the exact built image for the next develop pipeline
    - |
      curl --fail --request PUT \
        --header "PRIVATE-TOKEN: $GROUP_ACCESS_TOKEN" \
        --form "value=$BUILT_IMAGE" \
        "$CI_API_V4_URL/projects/$CI_PROJECT_ID/variables/LAST_MR_BUILT_IMAGE"
        
  after_script:
    - docker image rm -f "$BUILT_IMAGE" || true
  dependencies:
    - dev_package_job
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop"'


dev_deploy_job:
@@ -185,7 +198,7 @@ dev_deploy_job:

  script:
    - sops --decrypt charts/hypo/values-cd.enc.yaml > charts/hypo/values-cd.yaml
    - python3 scripts/helm_update_etsi.py $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA $DEV_SONATA_CORE_IMAGE $DEV_SONATA_OSS_IMAGE $DEV_SONATA_HELM_IMAGE $DEV_ZTC_CLIENT_IMAGE $DEV_PORTAL_CART_IMAGE $DEV_TMF_API_IMAGE $DEV_PEERING_IMAGE $DEV_REGISTRY_IMAGE $DEV_FABRIC_IMAGE $DEV_PORTAL
    - python3 scripts/helm_update_etsi.py $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:$CI_COMMIT_SHORT_SHA $DEV_SONATA_CORE_IMAGE $DEV_SONATA_OSS_IMAGE $DEV_SONATA_HELM_IMAGE $DEV_ZTC_CLIENT_IMAGE $DEV_PORTAL_CART_IMAGE $DEV_TMF_API_IMAGE $DEV_PEERING_IMAGE $DEV_REGISTRY_IMAGE $DEV_FABRIC_IMAGE $DEV_PORTAL $DEV_SERVICE_MONITOR_IMAGE
    - sops --encrypt --age $SOPS_AGE_KEY_PUBLIC charts/hypo/values-cd.yaml > charts/hypo/values-cd.enc.yaml
    - rm -f charts/hypo/values-cd.yaml ~/.sops-age-key.txt
    - git add charts/hypo/values-cd.enc.yaml
@@ -208,7 +221,7 @@ dev_deploy_job:
  dependencies:
     - dev_image_build_job
  rules:
     - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop"'



@@ -219,48 +232,53 @@ dev_workflows_job:
  image: labs.etsi.org:5050/osl/hypo/code/org.etsi.osl.hypo.ops/cicd/integration.tests/maven:3.9-eclipse-temurin-17
  before_script:
    # clone the integration tests repo
    - git clone --depth 1 "https://oauth2:$GROUP_ACCESS_TOKEN@$INTEGRATION_REPO"
    - git clone --depth 1 --branch develop "https://oauth2:$GROUP_ACCESS_TOKEN@$INTEGRATION_REPO"
    - cd integration.tests
  script:
    - mvn -B -q test "-Dkarate.env=$KARATE_ENV" "-Dkarate.options=--tags @smoke-e2e-workflow-private"
  dependencies:
    - dev_deploy_job
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop"'


develop_package_job:
  stage: develop_package
develop_image_tag_job:
  stage: develop_image_tag
  tags:
    - hypo
  script:
    - chmod +x ./mvnw
    - ./mvnw ${MAVEN_CLI_OPTS} clean package -DskipITs -DskipUTs -DskipTests ${MAVEN_OPTS}
  artifacts:
    paths:
      - target/**
  only:
    - develop

develop_image_build_and_release_job:
  stage: develop_image_build_release
  tags:
    - hypo
  dependencies:
    - develop_package_job
  image:
    name: labs.etsi.org:5050/osl/hypo/code/org.etsi.osl.hypo.ops/cicd/integration.tests/docker:29.1.3
  variables:
    DEVELOP_IMAGE: "$CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:dev-latest"
  before_script:
    - docker info > /dev/null
  script:
    - echo -n $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
    - docker build --network host --pull -t $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:latest -f src/main/docker/Dockerfile.jvm .
    - docker push $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:latest
    - echo "Promoting image for develop commit $LAST_MR_BUILT_IMAGE"
    - docker pull "$LAST_MR_BUILT_IMAGE"
    - docker tag "$LAST_MR_BUILT_IMAGE" "$DEVELOP_IMAGE"
    - docker push "$DEVELOP_IMAGE"
  after_script:
    - docker image rm -f "$LAST_MR_BUILT_IMAGE" "$DEVELOP_IMAGE" || true
  only:
    - develop



validate_main_source_job:
  stage: validate_main_source
  tags:
    - hypo
  script:
    - |
      if [ "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" != "develop" ]; then
        echo "ERROR: Only develop can be merged into main."
        exit 1
      fi
      echo "Valid merge: develop -> main"
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event" &&
           $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "main"'
    - when: never


prod_extract_next_release_job:
@@ -271,7 +289,7 @@ prod_extract_next_release_job:
  variables:
    GITLAB_TOKEN: $GROUP_ACCESS_TOKEN
  script:
    - DEV_RELEASE_VERSION=$(npx -y
    - npx -y
      -p @semantic-release/commit-analyzer@9.0.2
      -p @semantic-release/git@10.0.1
      -p @semantic-release/gitlab@9.5.0
@@ -280,7 +298,8 @@ prod_extract_next_release_job:
      -p @semantic-release/changelog@6.0.2
      -p conventional-changelog-conventionalcommits@5.0.0
      -p semantic-release@19.0.5
      semantic-release --dry-run | grep -oP '(?<=Published release ).*' | awk '{print $1}' || echo "no-release" )
      semantic-release --dry-run
    - DEV_RELEASE_VERSION=$(cat .next-release-version 2>/dev/null || echo "no-release")
    - echo "$DEV_RELEASE_VERSION" > dev_release_version.txt
    - cat dev_release_version.txt
  artifacts:
@@ -290,7 +309,6 @@ prod_extract_next_release_job:
    - main

   
   
prod_package_job:
  stage: prod_package
  tags:
@@ -338,7 +356,7 @@ prod_semantic_versioning_job:
  before_script:
    - git pull origin HEAD
  script:
    - RELEASE_VERSION=$(npx -y
    - npx -y
      -p @semantic-release/commit-analyzer@9.0.2
      -p @semantic-release/git@10.0.1
      -p @semantic-release/gitlab@9.5.0
@@ -347,7 +365,8 @@ prod_semantic_versioning_job:
      -p @semantic-release/changelog@6.0.2
      -p conventional-changelog-conventionalcommits@5.0.0
      -p semantic-release@19.0.5
      semantic-release | grep -oP '(?<=Published release ).*' | awk '{print $1}' || echo "no-release" )
      semantic-release
    - RELEASE_VERSION=$(cat .next-release-version 2>/dev/null || echo "no-release")
    - echo "$RELEASE_VERSION" > release_version.txt
    - cat release_version.txt
  artifacts:
@@ -378,6 +397,7 @@ prod_image_build_and_release_job:
    - docker tag $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:latest $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:$RELEASE_VERSION
    - docker push $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:latest
    - docker push $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:$RELEASE_VERSION

  after_script:
    - docker image rm -f $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:$RELEASE_VERSION $CI_REGISTRY/$CI_PROJECT_PATH/$IMAGE_NAME:latest || true
  only:
    - main
+3 −0
Changes for .releaserc.json: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -26,6 +26,9 @@
    ["@semantic-release/changelog",{
        "changelogFile": "./CHANGELOG.md"
    }],
    ["@semantic-release/exec", {
        "verifyReleaseCmd": "echo ${nextRelease.version} > .next-release-version"
    }],
    "@semantic-release/git"
  ]
}
+1 −1
Changes for pom.xml: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@
    <parent>
        <groupId>org.etsi.osl.hypo.api</groupId>
        <artifactId>tmf.parent</artifactId>
        <version>0.1.0</version>
        <version>1.1.0</version>
        <!-- Signify parent lookup from artifact repository -->
        <relativePath/>
    </parent>
Loading