From 06af651a516151f66387f7bfe23943e08b4ed8ba Mon Sep 17 00:00:00 2001 From: Marius Vikhammer Date: Mon, 14 Sep 2020 11:44:04 +0800 Subject: [PATCH] docs: seperate build_docs html and pdf CI jobs Due to eager_exclude, Sphinx jobs cannot use the doc cache (doctrees). PDF and HTML building are now seperate CI jobs to avoid this issue. PDF building will only be ran on deploy branches and when started with build_docs tag to reduce CI load --- tools/ci/config/build.yml | 53 +++++++++++++++++++++----------------- tools/ci/config/deploy.yml | 6 ++--- 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/tools/ci/config/build.yml b/tools/ci/config/build.yml index 6a0e5570d3..410d9cc267 100644 --- a/tools/ci/config/build.yml +++ b/tools/ci/config/build.yml @@ -231,7 +231,6 @@ build_component_ut_esp32s2: paths: - docs/_build/*/*/*.txt - docs/_build/*/*/html/* - - docs/_build/*/*/latex/* expire_in: 4 days only: variables: @@ -243,31 +242,39 @@ build_component_ut_esp32s2: script: - cd docs - ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh -p 3.6.10 pip install -r requirements.txt - - ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh -p 3.6.10 ./build_docs.py -bs html latex -l $DOCLANG -t $DOCTGT build + - ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh -p 3.6.10 ./build_docs.py -bs html -l $DOCLANG -t $DOCTGT build -build_docs_en_esp32: +build_docs_html: extends: .build_docs_template - variables: - DOCLANG: "en" - DOCTGT: "esp32" + parallel: + matrix: + - DOCLANG: ["en", "zh_CN"] + DOCTGT: ["esp32", "esp32s2"] -build_docs_en_esp32s2: - extends: .build_docs_template - variables: - DOCLANG: "en" - DOCTGT: "esp32s2" - -build_docs_zh_CN_esp32: - extends: .build_docs_template - variables: - DOCLANG: "zh_CN" - DOCTGT: "esp32" - -build_docs_zh_CN_esp32s2: - extends: .build_docs_template - variables: - DOCLANG: "zh_CN" - DOCTGT: "esp32s2" +build_docs_pdf: + stage: build + image: $ESP_IDF_DOC_ENV_IMAGE + tags: + - build_docs + artifacts: + when: always + paths: + - docs/_build/*/*/latex/* + expire_in: 4 days + rules: + - if: '$CI_COMMIT_REF_NAME == "master"' + - if: '$CI_COMMIT_REF_NAME =~ "/^release\/v/"' + - if: '$CI_COMMIT_REF_NAME =~ "/^v\d+\.\d+(\.\d+)?($|-)/"' + - if: $BOT_LABEL_BUILD_DOCS + dependencies: [] + parallel: + matrix: + - DOCLANG: ["en", "zh_CN"] + DOCTGT: ["esp32", "esp32s2"] + script: + - cd docs + - ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh -p 3.6.10 pip install -r requirements.txt + - ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh -p 3.6.10 ./build_docs.py -bs latex -l $DOCLANG -t $DOCTGT build test_build_system: extends: .build_template diff --git a/tools/ci/config/deploy.yml b/tools/ci/config/deploy.yml index 8f7909c8a9..8a6c7e8c62 100644 --- a/tools/ci/config/deploy.yml +++ b/tools/ci/config/deploy.yml @@ -82,10 +82,8 @@ push_to_github: - deploy - shiny dependencies: - - build_docs_en_esp32 - - build_docs_en_esp32s2 - - build_docs_zh_CN_esp32 - - build_docs_zh_CN_esp32s2 + - build_docs_html + - build_docs_pdf variables: DOCS_BUILD_DIR: "${IDF_PATH}/docs/_build/" PYTHONUNBUFFERED: 1