stages: - build - deploy_docs - deploy variables: # Versioned esp-idf-doc env image to use for all document building jobs ESP_DOCS_ENV_IMAGE: "$CI_DOCKER_REGISTRY/esp-idf-doc-env-v5.0" ESP_SR_PATH: "$CI_PROJECT_DIR" IDF_PATH: $CI_PROJECT_DIR/esp-idf IDF_REPO: ${GITLAB_SSH_SERVER}/espressif/esp-idf.git .setup_idf_ci_env: &setup_idf_ci_env - source esp-idf/tools/ci/utils.sh - source esp-idf/tools/ci/configure_ci_environment.sh - esp-idf/tools/idf_tools.py install - esp-idf/tools/idf_tools.py export .build_template: stage: build image: $ESP_DOCS_ENV_IMAGE build_esp_sr_html: extends: - .build_template variables: DOCS_DIR: $CI_PROJECT_DIR/docs artifacts: when: always paths: - $DOCS_DIR/_build/*/*/html/* - $DOCS_DIR/_build/*/*/*.txt expire_in: 4 days script: - cd $DOCS_DIR - ./check_lang_folder_sync.sh - ./check_doc_chars.py - build-docs --skip-reqs-check -l $DOCLANG -t $DOCTGT - echo "ESP-SR documentation preview available at $CI_JOB_URL/artifacts/file/docs/_build/$DOCLANG/$DOCTGT/html/index.html" parallel: matrix: - DOCLANG: ["en", "zh_CN"] DOCTGT: ["esp32", "esp32s3"] build_esp_sr_pdf: extends: - .build_template variables: DOCS_DIR: $CI_PROJECT_DIR/docs artifacts: when: always paths: - $DOCS_DIR/_build/*/*/latex/* - $DOCS_DIR/_build/*/*/*.txt expire_in: 4 days script: - cd $DOCS_DIR - ./check_lang_folder_sync.sh - ./check_doc_chars.py - build-docs --skip-reqs-check -l $DOCLANG -t $DOCTGT parallel: matrix: - DOCLANG: ["en", "zh_CN"] DOCTGT: ["esp32", "esp32s3"] .deploy_docs_template: stage: deploy_docs image: $ESP_DOCS_ENV_IMAGE tags: - deploy_docs needs: - build_esp_sr_html - build_esp_sr_pdf script: - source ${CI_PROJECT_DIR}/ci/utils.sh - add_doc_server_ssh_keys $DOCS_DEPLOY_PRIVATEKEY $DOCS_DEPLOY_SERVER $DOCS_DEPLOY_SERVER_USER - export GIT_VER=$(git describe --always) - pip install -r ${CI_PROJECT_DIR}/docs/requirements.txt - deploy-docs deploy_docs_preview: extends: - .deploy_docs_template except: refs: - master variables: TYPE: "preview" DOCS_BUILD_DIR: "${CI_PROJECT_DIR}/docs/_build/" DOCS_DEPLOY_PRIVATEKEY: "$DOCS_PREVIEW_DEPLOY_KEY" DOCS_DEPLOY_SERVER: "$DOCS_PREVIEW_SERVER" DOCS_DEPLOY_SERVER_USER: "$DOCS_PREVIEW_SERVER_USER" DOCS_DEPLOY_PATH: "$DOCS_PREVIEW_PATH" DOCS_DEPLOY_URL_BASE: "https://$DOCS_PREVIEW_SERVER_URL/docs/esp-sr" deploy_docs_production: extends: - .deploy_docs_template only: - master variables: TYPE: "production" DOCS_BUILD_DIR: "${CI_PROJECT_DIR}/docs/_build/" DOCS_DEPLOY_PRIVATEKEY: "$DOCS_PROD_DEPLOY_KEY" DOCS_DEPLOY_SERVER: "$DOCS_PROD_SERVER" DOCS_DEPLOY_SERVER_USER: "$DOCS_PROD_SERVER_USER" DOCS_DEPLOY_PATH: "$DOCS_PROD_PATH" DOCS_DEPLOY_URL_BASE: "https://docs.espressif.com/projects/esp-sr" push_to_github: stage: deploy image: $CI_DOCKER_REGISTRY/esp-env-v4.4:1 tags: - deploy when: on_success only: - master - /^release\/v/ script: - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo -n $GH_PUSH_KEY > ~/.ssh/id_rsa_base64 - base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa - chmod 600 ~/.ssh/id_rsa - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config - git remote remove github &>/dev/null || true - git remote add github git@github.com:espressif/esp-sr.git - git push github "${CI_COMMIT_SHA}:refs/heads/${CI_COMMIT_REF_NAME}"