diff --git a/Spec-template.docx b/Spec-template.docx index cf93ab990246578bfb08e998b64100570df19995..7e9c91b6f150831a106ccf56b23558c0c65e1096 100644 Binary files a/Spec-template.docx and b/Spec-template.docx differ diff --git a/generateChangemarks/.gitlab-ci.yml b/generateChangemarks/.gitlab-ci.yml index 285529b9e35335a33797e756f4d27993d24df038..6678654b5beff6c950045031793f0f905602648c 100644 --- a/generateChangemarks/.gitlab-ci.yml +++ b/generateChangemarks/.gitlab-ci.yml @@ -22,8 +22,9 @@ stages: Word CR: stage: generation - only: - - merge_requests + rules: + - if: $CI_MERGE_REQUEST_TITLE =~ /v.*_baseline$/ && $CI_PIPELINE_SOURCE == "merge_request_event" + when: never before_script: - | curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/generate_changemarks%2Esh/raw?ref=master" >> generate_changemarks.sh @@ -44,7 +45,30 @@ Word CR: paths: - docs/ expose_as: 'Word CR' - + +Baseline contribution: + stage: generation + rules: + - if: $CI_MERGE_REQUEST_TITLE =~ /v.*_baseline$/ && $CI_PIPELINE_SOURCE == "merge_request_event" + when: always + before_script: + - | + curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/publish_spec%2Esh/raw?ref=master" >> publish_spec.sh + - chmod +x publish_spec.sh + - | + curl "${CI_API_V4_URL}/projects/$TOOLS_SCRIPTS_PROJECT_ID/repository/files/Spec-template%2Edocx/raw?ref=master" >> onem2m_spec_template.docx + - | + export SPEC_NAME=$(ls | grep T*.md | cut -d'.' -f1) + export BASELINE_VERSION=$(echo ${CI_MERGE_REQUEST_TITLE} | grep -o v.*_baseline | cut -d'_' -f1-3 ) + script: + - echo 'Generating baseline' + - ./publish_spec.sh ${CI_PROJECT_URL} ${BASELINE_VERSION} onem2m_spec_template.docx $SPEC_NAME "onlyDocx" + artifacts: + name: "Baseline" + paths: + - baseline/ + expose_as: 'Baseline' + # Do not protect branch until creation and update of merge request can be differenciated for triggering pipeline, otherwise branch is protected_branches # with a single update of a merge request (which is not desired). This should be run only for a creation of merge request # Protect branch: @@ -76,9 +100,9 @@ Publish spec: artifacts: name: "${SPEC_NAME}_${CI_COMMIT_TAG}" paths: - - "*_${CI_COMMIT_TAG}.docx" - - "*_${CI_COMMIT_TAG}.pdf" - - "*_${CI_COMMIT_TAG}.epub" + - "baseline/*_${CI_COMMIT_TAG}.docx" + - "baseline/*_${CI_COMMIT_TAG}.pdf" + - "baseline/*_${CI_COMMIT_TAG}.epub" pages: stage: web diff --git a/publish_spec.sh b/publish_spec.sh index fcb2baade1e1f41b7f0f01247f015bbfd003036f..faaa51e404ea8374193119063783d86e20201e82 100755 --- a/publish_spec.sh +++ b/publish_spec.sh @@ -34,14 +34,17 @@ for i in *.md ; do echo "\n------ Preparaing spec --------" docker run --rm -v $(pwd):/tmp/ -u $(id -u):$(id -g) "$TOOLS_DOCKER_IMAGE" pandocFilter -o "/tmp/" "/tmp/$i" echo "\n------ Publishing spec --------" + mkdir baseline # Word output - docker run --rm -v $(pwd):/data -u $(id -u):$(id -g) "$DOCKER_IMAGE" "/data/$i" -F mermaid-filter -f markdown+escaped_line_breaks -t docx --reference-doc "/data/${3}" -o "${4}_${2}.docx" + docker run --rm -v $(pwd):/data -u $(id -u):$(id -g) "$DOCKER_IMAGE" "/data/$i" -F mermaid-filter -f markdown+escaped_line_breaks -t docx --reference-doc "/data/${3}" -o "baseline/${4}_${2}.docx" #echo 'docker run --rm -v $(pwd):/data -u $(id -u):$(id -g) "$DOCKER_IMAGE" "/data/$i" -F mermaid-filter -f markdown+escaped_line_breaks -t pdf -o "${4}_${2}.pdf"' - # PDF Output - docker run --rm -v $(pwd):/data -u $(id -u):$(id -g) "$DOCKER_IMAGE" "/data/$i" -F mermaid-filter -f markdown+escaped_line_breaks -t pdf -o "${4}_${2}.pdf" - # EPUB Output - docker run --rm -v $(pwd):/data -u $(id -u):$(id -g) "$DOCKER_IMAGE" "/data/$i" -f markdown+escaped_line_breaks -t epub3 -o "${4}_${2}.epub" --metadata title="${PROJECT_NAME}_${2}" --metadata creator="oneM2M Partnership Project" --metadata rights="Copyright 2024 oneM2M Partners + if [ "$5" != "onlyDocx" ]; then + # PDF Output + docker run --rm -v $(pwd):/data -u $(id -u):$(id -g) "$DOCKER_IMAGE" "/data/$i" -F mermaid-filter -f markdown+escaped_line_breaks -t pdf -o "baseline/${4}_${2}.pdf" + # EPUB Output + docker run --rm -v $(pwd):/data -u $(id -u):$(id -g) "$DOCKER_IMAGE" "/data/$i" -f markdown+escaped_line_breaks -t epub3 -o "baseline/${4}_${2}.epub" --metadata title="${PROJECT_NAME}_${2}" --metadata creator="oneM2M Partnership Project" --metadata rights="Copyright 2024 oneM2M Partners hip Project" + fi fi done diff --git a/spec_on_pages.sh b/spec_on_pages.sh index 9e29fd9c0e9f12c2b4f9736aaf99c6fc3333b2c1..002e0c34f88994a938e4bbdba90c6c34a609aef0 100644 --- a/spec_on_pages.sh +++ b/spec_on_pages.sh @@ -52,17 +52,17 @@ sed -i 's/##PROJECT/'${9^^}'/g' mkdocs.yml if [[ ${10} == v* ]]; then echo "Adding download tab for version ${10}..." mkdir -p "docs/download" - mv "$8_${10}.docx" docs/download + mv "baseline/$8_${10}.docx" docs/download spec_name=$(echo ${8/&/and}) file_name=$(ls docs/download/*.docx) filename_corrected=$(echo ${file_name/&/and}) mv docs/download/"$8_${10}.docx" ${filename_corrected} - mv "$8_${10}.pdf" docs/download + mv "baseline/$8_${10}.pdf" docs/download spec_name=$(echo ${8/&/and}) file_name=$(ls docs/download/*.pdf) filename_corrected=$(echo ${file_name/&/and}) mv docs/download/"$8_${10}.pdf" ${filename_corrected} - mv "$8_${10}.epub" docs/download + mv "baseline/$8_${10}.epub" docs/download spec_name=$(echo ${8/&/and}) file_name=$(ls docs/download/*.epub) filename_corrected=$(echo ${file_name/&/and})