| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- # copy from .gitlab-ci.yml as anchor is not global
- .show_submodule_urls: &show_submodule_urls |
- git config --get-regexp '^submodule\..*\.url$' || true
- check_line_endings:
- extends: .check_job_template
- script:
- - tools/ci/check-line-endings.sh ${IDF_PATH}
- check_commit_msg:
- extends: .check_job_template
- script:
- - git status
- - git log -n10 --oneline
- # commit start with "WIP: " need to be squashed before merge
- - 'git log --pretty=%s master.. -- | grep "^WIP: " && exit 1 || exit 0'
- check_permissions:
- extends: .check_job_template
- script:
- - tools/ci/check-executable.sh
- check_version:
- extends: .check_job_template
- # Don't run this for feature/bugfix branches, so that it is possible to modify
- # esp_idf_version.h in a branch before tagging the next version.
- only:
- - master
- - /^release\/v/
- - /^v\d+\.\d+(\.\d+)?($|-)/
- script:
- - export IDF_PATH=$PWD
- - tools/ci/check_idf_version.sh
- check_examples_cmake_make:
- extends: .check_job_template_with_filter
- except:
- - master
- - /^release\/v/
- - /^v\d+\.\d+(\.\d+)?($|-)/
- script:
- - tools/ci/check_examples_cmake_make.sh
- check_python_style:
- extends: .check_job_template_with_filter
- artifacts:
- when: on_failure
- paths:
- - flake8_output.txt
- expire_in: 1 week
- script:
- # run it only under Python 3 (it is very slow under Python 2)
- - ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh -p 3.4.8 python -m flake8 --config=$IDF_PATH/.flake8 --output-file=flake8_output.txt --tee --benchmark $IDF_PATH
- check_kconfigs:
- extends: .check_job_template_with_filter
- artifacts:
- when: on_failure
- paths:
- - components/*/Kconfig*.new
- - examples/*/*/*/Kconfig*.new
- - examples/*/*/*/*/Kconfig*.new
- - tools/*/Kconfig*.new
- - tools/*/*/Kconfig*.new
- - tools/*/*/*/Kconfig*.new
- expire_in: 1 week
- script:
- - ${IDF_PATH}/tools/ci/multirun_with_pyenv.sh ${IDF_PATH}/tools/test_check_kconfigs.py
- - ${IDF_PATH}/tools/check_kconfigs.py
- check_deprecated_kconfig_options:
- extends: .check_job_template_with_filter
- script:
- - ${IDF_PATH}/tools/ci/check_deprecated_kconfigs.py
- check_ut_cmake_make:
- extends: .check_job_template_with_filter
- stage: check
- image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
- tags:
- - build
- except:
- - master
- - /^release\/v/
- - /^v\d+\.\d+(\.\d+)?($|-)/
- dependencies: []
- script:
- - tools/ci/check_ut_cmake_make.sh
- check_submodule_sync:
- extends: .check_job_template
- tags:
- - github_sync
- retry: 2
- variables:
- GIT_STRATEGY: clone
- SUBMODULES_TO_FETCH: "none"
- PUBLIC_IDF_URL: "https://github.com/espressif/esp-idf.git"
- before_script: []
- after_script: []
- script:
- - git submodule deinit --force .
- # setting the default remote URL to the public one, to resolve relative location URLs
- - git config remote.origin.url ${PUBLIC_IDF_URL}
- # check if all submodules are correctly synced to public repostory
- - git submodule init
- - *show_submodule_urls
- - git submodule update --recursive
- - echo "IDF was cloned from ${PUBLIC_IDF_URL} completely"
- check_artifacts_expire_time:
- extends: .check_job_template
- script:
- # check if we have set expire time for all artifacts
- - python tools/ci/check_artifacts_expire_time.py
- check_pipeline_triggered_by_label:
- extends: .check_job_template
- stage: post_check
- only:
- variables:
- - $BOT_TRIGGER_WITH_LABEL
- script:
- # If the pipeline is triggered with label, the pipeline will only succeeded if "regular_test" label is added.
- # We want to make sure some jobs are always executed to detect regression.
- - test "$BOT_LABEL_REGULAR_TEST" = "true" || { echo "CI can only pass if 'regular_test' label is included"; exit -1; }
|