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

Add toc by Pandoc and styles update postprocessing

parent bc2a53c4
Loading
Loading
Loading
Loading
+22 −4
Original line number Diff line number Diff line
@@ -126,17 +126,35 @@ Publish spec:
    - tags
  before_script:
    - |
     curl "${CI_API_V4_URL}/projects/$PIPELINE_SCRIPTS_PROJECT_ID/repository/files/specifications%2Fpublish_spec%2Esh/raw?ref=main" >> publish_spec.sh
     curl "${CI_API_V4_URL}/projects/$PIPELINE_SCRIPTS_PROJECT_ID/repository/files/specifications%2Fpublish_spec%2Esh/raw?ref=main" > publish_spec.sh
    - chmod +x publish_spec.sh
    - |
     curl "${CI_API_V4_URL}/projects/$PIPELINE_SCRIPTS_PROJECT_ID/repository/files/specifications%2FSpec-template%2Edocx/raw?ref=main" >> mec_spec_template.docx
     curl "${CI_API_V4_URL}/projects/$PIPELINE_SCRIPTS_PROJECT_ID/repository/files/specifications%2Fgenerate_releasenotes%2Esh/raw?ref=main" > generate_releasenotes.sh
    - chmod +x generate_releasenotes.sh
    - |
     curl "${CI_API_V4_URL}/projects/$PIPELINE_SCRIPTS_PROJECT_ID/repository/files/specifications%2FETSI_GR_cover_skeleton%2Edocx/raw?ref=main" >> ETSI_GR_cover_skeleton.docx
     curl "${CI_API_V4_URL}/projects/$PIPELINE_SCRIPTS_PROJECT_ID/repository/files/specifications%2Fmec_release_notes_template%2Edocx/raw?ref=main" > release_notes_template.docx
    - |
     curl "${CI_API_V4_URL}/projects/$PIPELINE_SCRIPTS_PROJECT_ID/repository/files/specifications%2FSpec-template%2Edocx/raw?ref=main" > mec_spec_template.docx
    - |
     export SPEC_NAME=$(ls | grep -E "(GS|GR).*\.md" | cut -d'.' -f1)
    - |
      echo 'Checking if GS or GR specification'
      if [[ $SPEC_NAME =~ ^GS.* ]]
      then
        curl "${CI_API_V4_URL}/projects/$PIPELINE_SCRIPTS_PROJECT_ID/repository/files/specifications%2FETSI_GS_cover_skeleton%2Edocx/raw?ref=main" > mec_cover_skeleton.docx
      elif [[ $SPEC_NAME =~ ^GR.* ]]
      then
        curl "${CI_API_V4_URL}/projects/$PIPELINE_SCRIPTS_PROJECT_ID/repository/files/specifications%2FETSI_GR_cover_skeleton%2Edocx/raw?ref=main" > mec_cover_skeleton.docx
      else
        echo 'Specification is not a GS or GR specification'
        exit 1
      fi

  script:
    - echo 'Publishing spec'
    - ./publish_spec.sh ${CI_PROJECT_URL} ${CI_COMMIT_TAG} mec_spec_template.docx $SPEC_NAME ETSI_GR_cover_skeleton.docx
    - ./publish_spec.sh ${CI_COMMIT_TAG} mec_spec_template.docx ${CI_PROJECT_NAME} mec_cover_skeleton.docx
    - ./generate_releasenotes.sh ${CI_PROJECT_URL} ${CI_PROJECT_ID} ${CI_COMMIT_TAG} release_notes_template.docx "$GITLAB_USER_NAME" $SPECIFICATIONS_PIPELINE_TOKEN
    
  artifacts:
    name: "${CI_PROJECT_NAME}_${CI_COMMIT_TAG}"
    paths:
+118 KiB

File added.

No diff preview for this file type.

+13 −5
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@
#
#!/bin/bash

FORGELIB_DOCKER_IMAGE=forge.3gpp.org:5050/tools/3gpp-scripts/forgelib:v2.25.0
FORGELIB_DOCKER_IMAGE=forge.3gpp.org:5050/tools/3gpp-scripts/forgelib:v2.28.0
GENERATE_CHANGEMARKS_DOCKER_IMAGE=forge.etsi.org:5050/cti/md-specs-dev/tools/generatecr:master

#Parameters
@@ -44,12 +44,20 @@ 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
PROJECT_ID=$2
echo "PROJECT ID:" $PROJECT_ID
MERGE_REQUEST_IID=$3
echo "MERGE IID:" $MERGE_REQUEST_IID
MEC_DELIMITER_START=$4
echo "MEC DELIMITER START:" $MEC_DELIMITER_START
MEC_COVERSHEET_TEMPLATE=$5
echo "MEC COVERSHEET TEMPLATE:" $MEC_COVERSHEET_TEMPLATE
TOKEN=$6
echo "TOKEN:" $TOKEN

echo "\n------ Generating change marks MD --------"
#docker container run --rm -v $(pwd):/tmp/ "$DOCKER_IMAGE" forgelib-changedocs -vv --combine --diffs --preprocessor onem2m --outPath=/tmp/docs --startdelimiter "/tmp/$4" --enddelimiter "/tmp/$5" --coversheet "/tmp/$6" "$HOST_URL" "$2" "$PROJECT_NAME" "$3"
docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) "$GENERATE_CHANGEMARKS_DOCKER_IMAGE" changemarks -o "/tmp/out" "$HOST_URL" "$2" "$3"
docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) "$GENERATE_CHANGEMARKS_DOCKER_IMAGE" changemarks -o "/tmp/out" "$HOST_URL" "${PROJECT_ID}" "${MERGE_REQUEST_IID}"

#echo "\n------ Generating changemarks docx --------"
#for i in out/*.md ;  do
@@ -76,6 +84,6 @@ docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) "$GENERATE_CHANGE
#    #mv "$filename" "prefix_${filename}"; done;

echo "\n------ Generating change marks --------"
docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) -w "/tmp" "$FORGELIB_DOCKER_IMAGE" forgelib-changedocs -vv --combine --diffs --linenumbers --extension "png" --extension "jpg" --extension "svg" --extension "md" --preprocessor mec --token ${6} --outPath=docs/ --startdelimiter "$4" --coversheet "$5" "$HOST_URL" "$2" "$3"
docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) -w "/tmp" "$FORGELIB_DOCKER_IMAGE" forgelib-changedocs -vv --combine --diffs --linenumbers --extension "png" --extension "jpg" --extension "svg" --extension "md" --preprocessor mec --token ${TOKEN} --outPath=docs/ --startdelimiter "${MEC_DELIMITER_START}" --coversheet "${MEC_COVERSHEET_TEMPLATE}" "$HOST_URL" "${PROJECT_ID}" "${MERGE_REQUEST_IID}"

exit 0
+41 −0
Original line number Diff line number Diff line
#
#	generate_changemarks.sh
#
#	Script to generate CR Word documents from merge requests. Outputs:
#       - 1 - Word CR document containing the git diff 
#       - 2 - Word CR document containing tracked changes (informative) - Deprecated 
#	(c) 2024 by Miguel Angel Reina Ortega
#	License: BSD 3-Clause License. See the LICENSE file for further details.
#
#!/bin/bash

FORGELIB_DOCKER_IMAGE=forge.3gpp.org:5050/tools/3gpp-scripts/forgelib:v2.28.0

echo "\n------ Checking for docker image --------"
docker logout $(echo "$FORGELIB_DOCKER_IMAGE" | cut -d "/" -f 1 ) 
docker pull "$FORGELIB_DOCKER_IMAGE"


echo "------ Removing previous outputs --------"

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
PROJECT_ID=$2
echo "PROJECT ID:" $PROJECT_ID
TAG=$3
echo "TAG:" $TAG
RELEASE_NOTES_TEMPLATE=$4
echo "RELEASE NOTES TEMPLATE:" $RELEASE_NOTES_TEMPLATE
GITLAB_USER_NAME=$5
echo "GITLAB USER NAME:" $GITLAB_USER_NAME
TOKEN=$6
echo "TOKEN:" $TOKEN

echo "\n------ Generating release notes --------"
docker container run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) -w "/tmp" "$FORGELIB_DOCKER_IMAGE" forgelib-releaseNotes -vv --combine --filename --diffs --linenumbers --extension "png" --extension "jpg" --extension "svg" --extension "md" --outPath=baseline/ --token ${TOKEN} --coversheet ${RELEASE_NOTES_TEMPLATE} "$HOST_URL" "${PROJECT_ID}" "${TAG}" "$GITLAB_USER_NAME"

exit 0
Loading