mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
ci: Add an ability to use custom toolchain for testing
This commit is contained in:
parent
c1e5e19d0b
commit
7cec2e8342
@ -32,6 +32,7 @@ variables:
|
|||||||
V: "0"
|
V: "0"
|
||||||
APPLY_BOT_FILTER_SCRIPT: "$CI_PROJECT_DIR/tools/ci/apply_bot_filter.py"
|
APPLY_BOT_FILTER_SCRIPT: "$CI_PROJECT_DIR/tools/ci/apply_bot_filter.py"
|
||||||
CHECKOUT_REF_SCRIPT: "$CI_PROJECT_DIR/tools/ci/checkout_project_ref.py"
|
CHECKOUT_REF_SCRIPT: "$CI_PROJECT_DIR/tools/ci/checkout_project_ref.py"
|
||||||
|
CUSTOM_TOOLCHAIN_PATH: "/opt/xtensa-custom"
|
||||||
|
|
||||||
# Docker images
|
# Docker images
|
||||||
BOT_DOCKER_IMAGE_TAG: ":latest"
|
BOT_DOCKER_IMAGE_TAG: ":latest"
|
||||||
@ -53,6 +54,25 @@ variables:
|
|||||||
.apply_bot_filter: &apply_bot_filter
|
.apply_bot_filter: &apply_bot_filter
|
||||||
python $APPLY_BOT_FILTER_SCRIPT || exit 0
|
python $APPLY_BOT_FILTER_SCRIPT || exit 0
|
||||||
|
|
||||||
|
.setup_custom_toolchain: &setup_custom_toolchain |
|
||||||
|
if [ "$IDF_XTENSA_TOOLCHAIN_URL" ] ; then
|
||||||
|
echo "Use a custom toolchain: ${IDF_XTENSA_TOOLCHAIN_URL:-Unknown}"
|
||||||
|
rm -rf "$CUSTOM_TOOLCHAIN_PATH" &&
|
||||||
|
mkdir -p -v "$CUSTOM_TOOLCHAIN_PATH" &&
|
||||||
|
pushd "$CUSTOM_TOOLCHAIN_PATH" &&
|
||||||
|
curl -sSL -o xtensa-custom.xxx "$IDF_XTENSA_TOOLCHAIN_URL" &&
|
||||||
|
ls -l xtensa-custom.xxx &&
|
||||||
|
tar xf xtensa-custom.xxx --strip-components 1 &&
|
||||||
|
ls -l . &&
|
||||||
|
popd
|
||||||
|
PATH=$CUSTOM_TOOLCHAIN_PATH/bin:$PATH
|
||||||
|
export PATH
|
||||||
|
fi
|
||||||
|
|
||||||
|
.cleanup_custom_toolchain: &cleanup_custom_toolchain |
|
||||||
|
echo "Cleaning up $CUSTOM_TOOLCHAIN_PATH"
|
||||||
|
rm -rf "$CUSTOM_TOOLCHAIN_PATH"
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- source tools/ci/setup_python.sh
|
- source tools/ci/setup_python.sh
|
||||||
- *git_clean_stale_submodules
|
- *git_clean_stale_submodules
|
||||||
@ -71,6 +91,8 @@ before_script:
|
|||||||
# (the same regular expressions are used to set these are used in 'only:' sections below
|
# (the same regular expressions are used to set these are used in 'only:' sections below
|
||||||
- source tools/ci/configure_ci_environment.sh
|
- source tools/ci/configure_ci_environment.sh
|
||||||
|
|
||||||
|
- *setup_custom_toolchain
|
||||||
|
|
||||||
# fetch the submodules (& if necessary re-fetch repo) from gitlab
|
# fetch the submodules (& if necessary re-fetch repo) from gitlab
|
||||||
- time ./tools/ci/get-full-sources.sh
|
- time ./tools/ci/get-full-sources.sh
|
||||||
|
|
||||||
@ -79,6 +101,7 @@ before_script:
|
|||||||
before_script: &do_nothing_before_no_filter
|
before_script: &do_nothing_before_no_filter
|
||||||
- source tools/ci/setup_python.sh
|
- source tools/ci/setup_python.sh
|
||||||
- *git_clean_stale_submodules
|
- *git_clean_stale_submodules
|
||||||
|
- *setup_custom_toolchain
|
||||||
|
|
||||||
# used for everything else where we want to do no prep, except for bot filter
|
# used for everything else where we want to do no prep, except for bot filter
|
||||||
.do_nothing_before:
|
.do_nothing_before:
|
||||||
@ -89,6 +112,7 @@ before_script:
|
|||||||
- *apply_bot_filter
|
- *apply_bot_filter
|
||||||
- echo "Not setting up GitLab key, not fetching submodules"
|
- echo "Not setting up GitLab key, not fetching submodules"
|
||||||
- source tools/ci/configure_ci_environment.sh
|
- source tools/ci/configure_ci_environment.sh
|
||||||
|
- *setup_custom_toolchain
|
||||||
|
|
||||||
.add_gitlab_key_before:
|
.add_gitlab_key_before:
|
||||||
before_script: &add_gitlab_key_before
|
before_script: &add_gitlab_key_before
|
||||||
@ -98,6 +122,7 @@ before_script:
|
|||||||
- *apply_bot_filter
|
- *apply_bot_filter
|
||||||
- echo "Not fetching submodules"
|
- echo "Not fetching submodules"
|
||||||
- source tools/ci/configure_ci_environment.sh
|
- source tools/ci/configure_ci_environment.sh
|
||||||
|
- *setup_custom_toolchain
|
||||||
# add gitlab ssh key
|
# add gitlab ssh key
|
||||||
- mkdir -p ~/.ssh
|
- mkdir -p ~/.ssh
|
||||||
- chmod 700 ~/.ssh
|
- chmod 700 ~/.ssh
|
||||||
@ -106,6 +131,9 @@ before_script:
|
|||||||
- chmod 600 ~/.ssh/id_rsa
|
- chmod 600 ~/.ssh/id_rsa
|
||||||
- echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
|
- echo -e "Host gitlab.espressif.cn\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
|
||||||
|
|
||||||
|
after_script:
|
||||||
|
- *cleanup_custom_toolchain
|
||||||
|
|
||||||
build_template_app:
|
build_template_app:
|
||||||
stage: build
|
stage: build
|
||||||
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
|
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
|
||||||
|
Loading…
x
Reference in New Issue
Block a user