diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9826fc8d5a6936bda414dcb4f851f55da24b813f..5dca71c934b84438e405d413e539524a77b132b8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,8 +4,8 @@ stages: - documentation - sonarqube - trigger_jenkins_build - - publish-prod-1 - - publish-prod-2 + - publish-docs-prod-1 + - publish-docs-prod-2 #################################### tox - Testing and linting run-tox-pipeline: @@ -50,16 +50,16 @@ build-documentation: stage: documentation tags: - docker-executor - image: python:latest + image: python:3.12 before_script: - cd $CI_PROJECT_DIR/docs script: - - build-docs.sh + - /bin/sh ./build-docs.sh artifacts: paths: - - public + - docs/public ##### Vale - Documentation linter lint-documentation: @@ -82,40 +82,33 @@ lint-documentation: - vale --glob='!*/migrations/*' $CI_PROJECT_DIR/docs/ $CI_PROJECT_DIR/gso/ ##### Publish documentation artefacts -publish-prod-2: - stage: publish-prod-2 - # First deploy to prod-2 +publish-docs-prod-1: + stage: publish-docs-prod-1 + # First deploy to prod-1 tags: - - gap-docs-prod-2 - + - gap-docs-prod-1 only: - refs: - - main # Only publish when on the main branch + - master # Only publish when on the main branch needs: - job: build-documentation artifacts: true - script: - rm -rf /var/www/gap-docs/* - - mv $CI_PROJECT_DIR/public/* /var/www/gap-docs/ + - mv $CI_PROJECT_DIR/docs/public/* /var/www/gap-docs/ -publish-prod-1: - stage: publish-prod-1 - # When successful, also deploy to prod-1 +publish-docs-prod-2: + stage: publish-docs-prod-2 + # When successful, also deploy to prod-2 tags: - - gap-docs-prod-1 - + - gap-docs-prod-2 only: - refs: - - main # Only publish when on the main branch - + - master # Only publish when on the main branch needs: - job: build-documentation artifacts: true - script: - rm -rf /var/www/gap-docs/* - - mv $CI_PROJECT_DIR/public/* /var/www/gap-docs/ + - mv $CI_PROJECT_DIR/docs/public/* /var/www/gap-docs/ sonarqube: stage: sonarqube diff --git a/docs/build-docs.sh b/docs/build-docs.sh index 6bc432203847cc854773e8d6d80ab65eca9e1644..dc4c92c014ab21ce6405b7c765bf6fd7aa35b178 100755 --- a/docs/build-docs.sh +++ b/docs/build-docs.sh @@ -5,7 +5,8 @@ set -o nounset export OSS_PARAMS_FILENAME=../gso/oss-params-example.json export TESTING=true +pip install pyyaml mkdocstrings-python mkdocs_gen_files mkdocs-material mkdocs-literate-nav mkdocs-redirects +pip install -e .. python ./scripts/gen_wf_redirects.py -pip install mkdocstrings-python mkdocs_gen_files mkdocs-material mkdocs-literate-nav mkdocs-redirects mkdocs build --site-dir public diff --git a/docs/scripts/gen_wf_redirects.py b/docs/scripts/gen_wf_redirects.py index ddd49909aae5e4ce59206bbff40b53ad9904a983..c4c0d8b321566628a83dd7eea861e8b1486301c4 100644 --- a/docs/scripts/gen_wf_redirects.py +++ b/docs/scripts/gen_wf_redirects.py @@ -25,7 +25,7 @@ for path in sorted(src.rglob("*.py")): if len(parts) == 4 and "workflows" in parts: # noqa: PLR2004 redirect_map["workflow/" + parts[3] + "/index.md"] = "https://docs.gap.geant.org/reference/" + "/".join(parts) -with Path.open(root / "wf_redirects.yaml", "w") as redirect_file: +with Path.open(root / "docs" / "wf_redirects.yaml", "w") as redirect_file: file_content = { "plugins": [ "search",