kopia lustrzana https://github.com/espressif/esp-idf
173 wiersze
6.1 KiB
YAML
173 wiersze
6.1 KiB
YAML
|
|
.clang_tidy_deploy_template:
|
|
stage: deploy
|
|
image: $CI_DOCKER_REGISTRY/esp32-ci-env
|
|
tags:
|
|
- deploy
|
|
- shiny
|
|
script:
|
|
- mkdir -p ~/.ssh
|
|
- chmod 700 ~/.ssh
|
|
- echo -n $DOCS_DEPLOY_KEY > ~/.ssh/id_rsa_base64
|
|
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
|
|
- chmod 600 ~/.ssh/id_rsa
|
|
- echo -e "Host $DOCS_SERVER\n\tStrictHostKeyChecking no\n\tUser $DOCS_SERVER_USER\n" >> ~/.ssh/config
|
|
- export GIT_VER=$(git describe --always)
|
|
- cd $IDF_PATH/examples/get-started/hello_world/tidybuild
|
|
- mv report $GIT_VER
|
|
- tar czvf $GIT_VER.tar.gz $GIT_VER
|
|
- export STATIC_REPORT_PATH="web/static_analysis/esp-idf/"
|
|
- ssh $DOCS_SERVER -x "mkdir -p $STATIC_REPORT_PATH/clang-tidy"
|
|
- scp $GIT_VER.tar.gz $DOCS_SERVER:$STATIC_REPORT_PATH/clang-tidy
|
|
- ssh $DOCS_SERVER -x "cd $STATIC_REPORT_PATH/clang-tidy && tar xzvf $GIT_VER.tar.gz && rm -f latest && ln -s $GIT_VER latest"
|
|
# add link to view the report
|
|
- echo "[static analysis][clang tidy] $CI_DOCKER_REGISTRY/static_analysis/esp-idf/clang-tidy/${GIT_VER}/index.html"
|
|
- test ! -e ${GIT_VER}/FAILED_RULES || { echo 'Failed static analysis rules!'; cat ${GIT_VER}/FAILED_RULES; exit 1; }
|
|
|
|
clang_tidy_deploy:
|
|
extends: .clang_tidy_deploy_template
|
|
dependencies:
|
|
- clang_tidy_check
|
|
- clang_tidy_check_all
|
|
variables:
|
|
BOT_NEEDS_TRIGGER_BY_NAME: 1
|
|
|
|
clang_tidy_deploy_regular:
|
|
extends: .clang_tidy_deploy_template
|
|
dependencies:
|
|
- clang_tidy_check_regular
|
|
only:
|
|
refs:
|
|
- master
|
|
- /^release\/v/
|
|
- /^v\d+\.\d+(\.\d+)?($|-)/
|
|
- triggers
|
|
- schedules
|
|
variables:
|
|
- $BOT_LABEL_STATIC_ANALYSIS
|
|
- $BOT_LABEL_STATIC_ANALYSIS_ALL
|
|
|
|
push_to_github:
|
|
stage: deploy
|
|
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
|
|
tags:
|
|
- deploy
|
|
only:
|
|
- master
|
|
- /^release\/v/
|
|
- /^v\d+\.\d+(\.\d+)?($|-)/
|
|
when: on_success
|
|
dependencies: []
|
|
extends: .before_script_lesser
|
|
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-idf.git
|
|
- tools/ci/push_to_github.sh
|
|
|
|
.upload_doc_archive: &upload_doc_archive |
|
|
cd docs/_build/$DOCLANG/$DOCTGT
|
|
mv html $GIT_VER
|
|
tar czf $GIT_VER.tar.gz $GIT_VER
|
|
ssh $DOCS_SERVER -x "mkdir -p $DOCS_PATH/$DOCLANG/$DOCTGT"
|
|
scp $GIT_VER.tar.gz $DOCS_SERVER:$DOCS_PATH/$DOCLANG/$DOCTGT
|
|
ssh $DOCS_SERVER -x "cd $DOCS_PATH/$DOCLANG/$DOCTGT && tar xzf $GIT_VER.tar.gz && rm -f latest && ln -s $GIT_VER latest"
|
|
cd -
|
|
|
|
deploy_docs:
|
|
stage: deploy
|
|
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
|
|
tags:
|
|
- deploy
|
|
- shiny
|
|
only:
|
|
refs:
|
|
- master
|
|
- /^release\/v/
|
|
- /^v\d+\.\d+(\.\d+)?($|-)/
|
|
- triggers
|
|
variables:
|
|
- $BOT_TRIGGER_WITH_LABEL == null
|
|
- $BOT_LABEL_BUILD_DOCS
|
|
dependencies:
|
|
- build_docs_en_esp32
|
|
- build_docs_en_esp32s2
|
|
- build_docs_zh_CN_esp32
|
|
- build_docs_zh_CN_esp32s2
|
|
extends: .before_script_lesser
|
|
script:
|
|
- mkdir -p ~/.ssh
|
|
- chmod 700 ~/.ssh
|
|
- echo -n $DOCS_DEPLOY_KEY > ~/.ssh/id_rsa_base64
|
|
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
|
|
- chmod 600 ~/.ssh/id_rsa
|
|
- echo -e "Host $DOCS_SERVER\n\tStrictHostKeyChecking no\n\tUser $DOCS_SERVER_USER\n" >> ~/.ssh/config
|
|
- export GIT_VER=$(git describe --always)
|
|
|
|
- DOCLANG=en; DOCTGT=esp32
|
|
- *upload_doc_archive
|
|
|
|
- DOCLANG=en; DOCTGT=esp32s2
|
|
- *upload_doc_archive
|
|
|
|
- DOCLANG=zh_CN; DOCTGT=esp32
|
|
- *upload_doc_archive
|
|
|
|
- DOCLANG=zh_CN; DOCTGT=esp32s2
|
|
- *upload_doc_archive
|
|
|
|
# add link to preview doc
|
|
- echo "[document preview][en][esp32] https://$CI_DOCKER_REGISTRY/docs/esp-idf/en/esp32/${GIT_VER}/index.html"
|
|
- echo "[document preview][en][esp32s2] https://$CI_DOCKER_REGISTRY/docs/esp-idf/en/esp32s2/${GIT_VER}/index.html"
|
|
- echo "[document preview][zh_CN][esp32] https://$CI_DOCKER_REGISTRY/docs/esp-idf/zh_CN/esp32/${GIT_VER}/index.html"
|
|
- echo "[document preview][zh_CN][esp32s2] https://$CI_DOCKER_REGISTRY/docs/esp-idf/zh_CN/esp32s2/${GIT_VER}/index.html"
|
|
|
|
deploy_test_result:
|
|
stage: deploy
|
|
image: $CI_DOCKER_REGISTRY/bot-env
|
|
tags:
|
|
- deploy_test
|
|
when: always
|
|
only:
|
|
refs:
|
|
- master
|
|
- schedules
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- ${CI_PROJECT_DIR}/test-management/*.log
|
|
# save all test logs as artifacts, make it easier to track errors
|
|
- ${CI_PROJECT_DIR}/TEST_LOGS
|
|
- $CI_PROJECT_DIR/$CI_COMMIT_SHA
|
|
expire_in: 1 mos
|
|
variables:
|
|
UNIT_TEST_CASE_FILE: "${CI_PROJECT_DIR}/components/idf_test/unit_test/TestCaseAll.yml"
|
|
BOT_ACCOUNT_CONFIG_FILE: "${CI_PROJECT_DIR}/test-management/Config/Account.local.yml"
|
|
TEST_FW_PATH: "$CI_PROJECT_DIR/tools/tiny-test-fw"
|
|
AUTO_TEST_SCRIPT_PATH: "${CI_PROJECT_DIR}/auto_test_script"
|
|
before_script:
|
|
- mkdir -p ~/.ssh
|
|
- chmod 700 ~/.ssh
|
|
- echo -n $GITLAB_KEY > ~/.ssh/id_rsa_base64
|
|
- base64 --decode --ignore-garbage ~/.ssh/id_rsa_base64 > ~/.ssh/id_rsa
|
|
- chmod 600 ~/.ssh/id_rsa
|
|
- echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
|
|
script:
|
|
- export GIT_SHA=$(echo ${CI_COMMIT_SHA} | cut -c 1-8)
|
|
- export REV_COUNT=$(git rev-list --count HEAD)
|
|
- export SUMMARY="IDF CI test result for $GIT_SHA (r${REV_COUNT})"
|
|
# artifacts of job update_test_cases creates test-management folder
|
|
# we need to remove it so we can clone test-management folder again
|
|
- rm -r test-management
|
|
- git clone $TEST_MANAGEMENT_REPO
|
|
- python3 $CHECKOUT_REF_SCRIPT test-management test-management
|
|
- cd test-management
|
|
- echo $BOT_JIRA_ACCOUNT > ${BOT_ACCOUNT_CONFIG_FILE}
|
|
# update test results
|
|
- python3 ImportTestResult.py -r "$GIT_SHA (r${REV_COUNT})" -j $JIRA_TEST_MANAGEMENT_PROJECT -s "$SUMMARY" -l CI -p ${CI_PROJECT_DIR}/TEST_LOGS ${CI_PROJECT_DIR}/${CI_COMMIT_SHA} --pipeline_url ${CI_PIPELINE_URL}
|