From 190f310ed105849cdd059d30d81dab7eda468b0f 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 7133ac2a46..f91dc90493 100644 --- a/tools/ci/config/build.yml +++ b/tools/ci/config/build.yml @@ -209,7 +209,6 @@ build_test_apps_esp32s2: paths: - docs/_build/*/*/*.txt - docs/_build/*/*/html/* - - docs/_build/*/*/latex/* expire_in: 4 days only: variables: @@ -221,31 +220,39 @@ build_test_apps_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 524b5b4012..bd221cbc80 100644 --- a/tools/ci/config/deploy.yml +++ b/tools/ci/config/deploy.yml @@ -81,10 +81,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