Commit b5010d80 authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

Adding specific SA4 pipelines

parent 0d07abd3
Loading
Loading
Loading
Loading

sa4/.gitlab-ci.yml

0 → 100644
+63 −0
Original line number Diff line number Diff line
# CI/CD:
#
# VALIDATION triggered by:
#  - any (branch commit)
#  
# GENERATION triggered by:
#  - any (branch commit) for Generate config
#  - merge request for CR contribution
#   

workflow:
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
      when: never
    - if: $CI_COMMIT_BRANCH
    
variables:
  LOGFILE_OPENAPI: "openapi-validation.log"
  GIT_CLEAN_FLAGS: -ffdxq
  SWAGGER_DOCKER_IMG: "etsiforge/swagger-cli:4.0.3"

stages:
  - validation
  - generation
        
Validate OpenAPI:
  stage: validation
  before_script:
    - |
     curl "${CI_API_V4_URL}/projects/$TOOLS_3GPP_SCRIPTS_PROJECT_ID/repository/files/sa4%2Fvalidate-all-in-docker%2Esh/raw?ref=master" >> validate-all-in-docker.sh
    - chmod +x validate-all-in-docker.sh
    - docker pull -q "${SWAGGER_DOCKER_IMG}"
  script:
    - echo 'Validate OpenAPI'
    - docker run --rm -v $(pwd):"/specs" ${SWAGGER_DOCKER_IMG} /bin/sh -c "sh specs/validate-all-in-docker.sh"
  artifacts:
    name: "$CI_JOB_NAME"
    when: always
    paths:
      - ${LOGFILE_OPENAPI}
          
CR contribution:
  stage: generation
  when: on_success
  only:
    - merge_requests
  before_script:
    - |
     curl "${CI_API_V4_URL}/projects/$TOOLS_3GPP_SCRIPTS_PROJECT_ID/repository/files/sa4%2Fgenerate_changemarks%2Esh/raw?ref=master" >> generate_changemarks.sh
    - chmod +x generate_changemarks.sh
    - |
     curl "${CI_API_V4_URL}/projects/$TOOLS_3GPP_SCRIPTS_PROJECT_ID/repository/files/sa4%2Fsa4_delimiter_start%2Edocx/raw?ref=master" >> sa4_delimiter_start.docx
    - |
     curl "${CI_API_V4_URL}/projects/$TOOLS_3GPP_SCRIPTS_PROJECT_ID/repository/files/sa4%2Fsa4_coversheet_template%2Edocx/raw?ref=master" >> sa4_coversheet_template.docx
  script:
    - echo 'CR contribution'
    - mkdir docs
    - ./generate_changemarks.sh ${CI_PROJECT_URL} ${CI_MERGE_REQUEST_PROJECT_ID} ${CI_MERGE_REQUEST_IID} sa4_delimiter_start.docx sa4_coversheet_template.docx
  artifacts:
    paths:
      - docs/
    expose_as: 'Word document contribution'
+26 −0
Original line number Diff line number Diff line
#!/bin/bash

DOCKER_IMAGE=forge.3gpp.org:5050/tools/3gpp-scripts/forgelib:v2.17.0

echo "\n------ Checking for docker image --------"
docker pull "$DOCKER_IMAGE"

echo "------ Removing previous outputs --------"
rm **/*.docx

echo "------ Parsing repo URL --------"

HOST_URL=$(echo $1 | cut -d'/' -f 1-4)
PROJECT_NAME=$(echo $1 | grep -o '[^/]*$' | cut -d'.' -f 1)
echo "HOST URL:" $HOST_URL
echo "PROJECT NAME:" $PROJECT_NAME
echo "PROJECT ID:" $2
echo "MERGE IID:" $3

echo "\n------ Generating change marks --------"
docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) "$DOCKER_IMAGE" forgelib-changedocs -vv --diff --linenumbers --filename --combine --outPath=/tmp/docs --startdelimiter "/tmp/$4" --coversheet "/tmp/$5" "$HOST_URL" "$2" "$3"

#docker container run --rm -v $(pwd):/tmp/ "$DOCKER_IMAGE" forgelib-changedocs -vv --combine --outPath=/tmp/docs --startdelimiter "/tmp/$4" --enddelimiter "/tmp/$5" "$HOST_URL" "$2" "$PROJECT_NAME" "$3"

exit 0
+36.4 KiB

File added.

No diff preview for this file type.

+23.7 KiB

File added.

No diff preview for this file type.

+23.5 KiB

File added.

No diff preview for this file type.

Loading