Merge branch 'bugfix/ci_fix_build' into 'idf_v4.x'

ci: Fix CI build using public IDF images

See merge request espressif/esp-mqtt!148
This commit is contained in:
David Čermák
2022-10-03 15:36:21 +08:00

View File

@ -25,70 +25,42 @@ 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
- PATH=$CI_PROJECT_DIR/esp-idf/tools:$PATH - PATH=$CI_PROJECT_DIR/esp-idf/tools:$PATH
- export IDF_PATH=$CI_PROJECT_DIR/esp-idf
- export MQTT_PATH=$CI_PROJECT_DIR - export MQTT_PATH=$CI_PROJECT_DIR
build_with_idf_v3: .build_template:
stage: build stage: build
image: ${CI_DOCKER_REGISTRY}/esp32-ci-env
tags: tags:
- build - build
dependencies: [] - internet
script: script:
- git clone "${IDF_REPO}" # Replace the IDF's default esp-mqtt with this version
# build with IDFv3.2 - rm -rf $IDF_PATH/components/mqtt/esp-mqtt && cp -r $MQTT_PATH $IDF_PATH/components/mqtt/
- $MQTT_PATH/ci/set_idf.sh release/v3.2 # Build the examples
- $MQTT_PATH/ci/set_mqtt.sh $CI_COMMIT_SHA - $MQTT_PATH/ci/build_examples.sh
- $MQTT_PATH/ci/build_examples.sh make
# simple build with IDFv3.1 (buiding directly in mqtt repo)
- $MQTT_PATH/ci/set_idf.sh release/v3.1
- cd $MQTT_PATH && ./ci/modify_for_legacy_idf.sh ${RECENT_IDF} || true
- cd $MQTT_PATH/examples/tcp && rm -rf build && make defconfig && make
build_with_idf_v4: build_idf_v3.3:
stage: build extends: .build_template
image: ${CI_DOCKER_REGISTRY}/esp-env:v4.4-1 image: espressif/idf:release-v3.3
tags:
- build build_idf_v4.0:
dependencies: [] extends: .build_template
variables: image: espressif/idf:release-v4.0
PYTHON_VER: 3.6.13
script: build_idf_v4.1:
- git clone "${IDF_REPO}" extends: .build_template
- source /opt/pyenv/activate && pyenv global $PYTHON_VER image: espressif/idf:release-v4.1
# enable pedantic flags for compilation
- export PEDANTIC_CFLAGS="-Werror -Werror=deprecated-declarations -Werror=unused-variable -Werror=unused-but-set-variable -Werror=unused-function" build_idf_v4.2:
- export EXTRA_CFLAGS=${PEDANTIC_CFLAGS} && export EXTRA_CXXFLAGS=${EXTRA_CFLAGS} extends: .build_template
# rebuild with IDFv4.4 image: espressif/idf:release-v4.2
- $MQTT_PATH/ci/set_idf.sh release/v4.4
- cd $IDF_PATH && tools/idf_tools.py --non-interactive install && eval "$(tools/idf_tools.py --non-interactive export)" build_idf_v4.3:
- $MQTT_PATH/ci/set_mqtt.sh $CI_COMMIT_SHA extends: .build_template
- $MQTT_PATH/ci/build_examples.sh image: espressif/idf:release-v4.3
# rebuild with IDFv4.3
- $MQTT_PATH/ci/set_idf.sh release/v4.3 build_idf_v4.4:
- cd $IDF_PATH && tools/idf_tools.py --non-interactive install && eval "$(tools/idf_tools.py --non-interactive export)" extends: .build_template
- $MQTT_PATH/ci/set_mqtt.sh $CI_COMMIT_SHA image: espressif/idf:release-v4.4
- $MQTT_PATH/ci/build_examples.sh
# rebuild with IDFv4.2
- $MQTT_PATH/ci/set_idf.sh release/v4.2
- cd $IDF_PATH && tools/idf_tools.py --non-interactive install && eval "$(tools/idf_tools.py --non-interactive export)"
- $MQTT_PATH/ci/set_mqtt.sh $CI_COMMIT_SHA
- $MQTT_PATH/ci/build_examples.sh
# rebuild with IDFv4.1
- $MQTT_PATH/ci/set_idf.sh release/v4.1
- cd $IDF_PATH && tools/idf_tools.py --non-interactive install && eval "$(tools/idf_tools.py --non-interactive export)"
- $MQTT_PATH/ci/set_mqtt.sh $CI_COMMIT_SHA
- $MQTT_PATH/ci/build_examples.sh
# rebuild with IDFv4.0
- $MQTT_PATH/ci/set_idf.sh release/v4.0
- cd $IDF_PATH && tools/idf_tools.py --non-interactive install && eval "$(tools/idf_tools.py --non-interactive export)"
- $MQTT_PATH/ci/set_mqtt.sh $CI_COMMIT_SHA
- $MQTT_PATH/ci/build_examples.sh
# build with IDFv3.3
- $MQTT_PATH/ci/set_idf.sh release/v3.3
- cd $IDF_PATH && tools/idf_tools.py --non-interactive install && eval "$(tools/idf_tools.py --non-interactive export)"
- $MQTT_PATH/ci/set_mqtt.sh $CI_COMMIT_SHA
- $MQTT_PATH/ci/build_examples.sh make
build_and_test_qemu: build_and_test_qemu:
stage: build stage: build
@ -98,6 +70,7 @@ build_and_test_qemu:
- shiny - shiny
dependencies: [] dependencies: []
script: script:
- export IDF_PATH=$CI_PROJECT_DIR/esp-idf
- git clone "${IDF_REPO}" - git clone "${IDF_REPO}"
# switch to IDF and setup the tools # switch to IDF and setup the tools
- $MQTT_PATH/ci/set_idf.sh release/v4.4 - $MQTT_PATH/ci/set_idf.sh release/v4.4