Loading sa5/.gitlab-ci.yml +63 −5 Original line number Diff line number Diff line Loading @@ -21,12 +21,14 @@ variables: LOGFILE_LINT: "yang-linting.txt" LOGFILE_OPENAPI: "openapi-validation.txt" DRY_RUN: "true" TAG_5G_APIs: "None" stages: - checking - validation - generation - maintenance - update Checking modified files: stage: checking Loading @@ -49,7 +51,7 @@ Checking modified files: YANG Validation Strict: stage: validation rules: - if: $CI_PIPELINE_SOURCE != "schedule" - if: $CI_PIPELINE_SOURCE != "schedule" && $TAG_5G_APIs == "None" changes: - yang-models/* before_script: Loading @@ -69,7 +71,7 @@ YANG Validation Strict: YANG Additional 3GPP Checks: stage: validation rules: - if: $CI_PIPELINE_SOURCE != "schedule" - if: $CI_PIPELINE_SOURCE != "schedule" && $TAG_5G_APIs == "None" changes: - yang-models/* allow_failure: true Loading @@ -90,7 +92,7 @@ YANG Additional 3GPP Checks: Validate OpenAPI: stage: validation rules: - if: $CI_PIPELINE_SOURCE != "schedule" - if: $CI_PIPELINE_SOURCE != "schedule" && $TAG_5G_APIs == "None" changes: - OpenAPI/* before_script: Loading @@ -110,7 +112,7 @@ Validate OpenAPI: .Validate ASN.1 files: stage: validation rules: - if: $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE != "schedule" - if: $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE != "schedule" && $TAG_5G_APIs == "None" changes: - ASN/* before_script: Loading Loading @@ -166,7 +168,7 @@ Delete old branches: # Installation of required software - apt-get update -qq && apt-get -qq install -y git curl jq > /dev/null - | curl "${CI_API_V4_URL}/projects/$TOOLS_3GPP_SCRIPTS_PROJECT_ID/repository/files/sa5%2Fdelete_old_branches%2Esh/raw?ref=oldBranches" >> delete_old_branches.sh curl "${CI_API_V4_URL}/projects/$TOOLS_3GPP_SCRIPTS_PROJECT_ID/repository/files/sa5%2Fdelete_old_branches%2Esh/raw?ref=master" >> delete_old_branches.sh - chmod +x delete_old_branches.sh script: - echo 'Delete old branches' Loading @@ -176,3 +178,59 @@ Delete old branches: paths: - logs/ Update externals: stage: update image: alpine:3.19 tags: - docker allow_failure: true rules: - if: '$CI_COMMIT_BRANCH && $TAG_5G_APIs != "None" && $CI_PROJECT_NAME == "CH"' before_script: - apk add --no-cache git bash - git config user.email "${GITLAB_USER_EMAIL}" - git config user.name "${GITLAB_USER_NAME}" # clone using OAuth / token - | git clone "https://gitlab-ci-token:${CI_JOB_TOKEN}@${CI_SERVER_HOST}/rep/${CI_PROJECT_PATH}.git" ${CI_PROJECT_NAME} - cd ${CI_PROJECT_NAME} - git checkout ${CI_COMMIT_BRANCH} - git submodule update --init OpenAPI/externals script: - | set -e echo "Requested 5G_APIs tag: $TAG_5G_APIs" cd OpenAPI/externals git fetch --tags if ! git rev-parse "refs/tags/$TAG_5G_APIs" >/dev/null 2>&1; then echo "WARNING: externals could not be updated — tag '$TAG_5G_APIs' not found" exit 1 fi NEW_SHA=$(git rev-list -n 1 "$TAG_5G_APIs") CURRENT_SHA=$(git rev-parse HEAD) if [ "$NEW_SHA" = "$CURRENT_SHA" ]; then echo "externals already up to date at tag $TAG_5G_APIs" exit 0 fi git checkout "$TAG_5G_APIs" cd ../.. echo "externals has been updated to tag $TAG_5G_APIs" git add externals git commit -m "Update externals to tag $TAG_5G_APIs" git push origin HEAD:$CI_COMMIT_BRANCH echo "externals has been updated to tag $TAG_5G_APIs" No newline at end of file Loading
sa5/.gitlab-ci.yml +63 −5 Original line number Diff line number Diff line Loading @@ -21,12 +21,14 @@ variables: LOGFILE_LINT: "yang-linting.txt" LOGFILE_OPENAPI: "openapi-validation.txt" DRY_RUN: "true" TAG_5G_APIs: "None" stages: - checking - validation - generation - maintenance - update Checking modified files: stage: checking Loading @@ -49,7 +51,7 @@ Checking modified files: YANG Validation Strict: stage: validation rules: - if: $CI_PIPELINE_SOURCE != "schedule" - if: $CI_PIPELINE_SOURCE != "schedule" && $TAG_5G_APIs == "None" changes: - yang-models/* before_script: Loading @@ -69,7 +71,7 @@ YANG Validation Strict: YANG Additional 3GPP Checks: stage: validation rules: - if: $CI_PIPELINE_SOURCE != "schedule" - if: $CI_PIPELINE_SOURCE != "schedule" && $TAG_5G_APIs == "None" changes: - yang-models/* allow_failure: true Loading @@ -90,7 +92,7 @@ YANG Additional 3GPP Checks: Validate OpenAPI: stage: validation rules: - if: $CI_PIPELINE_SOURCE != "schedule" - if: $CI_PIPELINE_SOURCE != "schedule" && $TAG_5G_APIs == "None" changes: - OpenAPI/* before_script: Loading @@ -110,7 +112,7 @@ Validate OpenAPI: .Validate ASN.1 files: stage: validation rules: - if: $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE != "schedule" - if: $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE != "schedule" && $TAG_5G_APIs == "None" changes: - ASN/* before_script: Loading Loading @@ -166,7 +168,7 @@ Delete old branches: # Installation of required software - apt-get update -qq && apt-get -qq install -y git curl jq > /dev/null - | curl "${CI_API_V4_URL}/projects/$TOOLS_3GPP_SCRIPTS_PROJECT_ID/repository/files/sa5%2Fdelete_old_branches%2Esh/raw?ref=oldBranches" >> delete_old_branches.sh curl "${CI_API_V4_URL}/projects/$TOOLS_3GPP_SCRIPTS_PROJECT_ID/repository/files/sa5%2Fdelete_old_branches%2Esh/raw?ref=master" >> delete_old_branches.sh - chmod +x delete_old_branches.sh script: - echo 'Delete old branches' Loading @@ -176,3 +178,59 @@ Delete old branches: paths: - logs/ Update externals: stage: update image: alpine:3.19 tags: - docker allow_failure: true rules: - if: '$CI_COMMIT_BRANCH && $TAG_5G_APIs != "None" && $CI_PROJECT_NAME == "CH"' before_script: - apk add --no-cache git bash - git config user.email "${GITLAB_USER_EMAIL}" - git config user.name "${GITLAB_USER_NAME}" # clone using OAuth / token - | git clone "https://gitlab-ci-token:${CI_JOB_TOKEN}@${CI_SERVER_HOST}/rep/${CI_PROJECT_PATH}.git" ${CI_PROJECT_NAME} - cd ${CI_PROJECT_NAME} - git checkout ${CI_COMMIT_BRANCH} - git submodule update --init OpenAPI/externals script: - | set -e echo "Requested 5G_APIs tag: $TAG_5G_APIs" cd OpenAPI/externals git fetch --tags if ! git rev-parse "refs/tags/$TAG_5G_APIs" >/dev/null 2>&1; then echo "WARNING: externals could not be updated — tag '$TAG_5G_APIs' not found" exit 1 fi NEW_SHA=$(git rev-list -n 1 "$TAG_5G_APIs") CURRENT_SHA=$(git rev-parse HEAD) if [ "$NEW_SHA" = "$CURRENT_SHA" ]; then echo "externals already up to date at tag $TAG_5G_APIs" exit 0 fi git checkout "$TAG_5G_APIs" cd ../.. echo "externals has been updated to tag $TAG_5G_APIs" git add externals git commit -m "Update externals to tag $TAG_5G_APIs" git push origin HEAD:$CI_COMMIT_BRANCH echo "externals has been updated to tag $TAG_5G_APIs" No newline at end of file