Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial Espressif CI; limit Zepher CI #390

Merged
merged 1 commit into from
Mar 5, 2024

Conversation

gojimmypi
Copy link
Contributor

Add initial build checks for new Espressif wolfMQTT examples, based on the work @bandi13 created for wolfssl.

I also noticed the Zepher job was running a bit too aggressively, so included here is a limit to 'master', 'main', 'release/**'.

Many other features should eventually be added. At some point we may consider include building the Espressif examples with etiher the latest wolfssl dev and/or latest release. For now the new docker-Espressif.yml uses the published managed wolfssl component only and for only the ESP32 (not -S3, -C3, etc). Note the wolfssl version is currently hard-coded:

WOLFSSL_COMPONENT=wolfssl/wolfssl^5.6.6-stable-update2-esp32

See comments in new IDE/Espressif/ESP-IDF/compileAllExamples.sh file, duplicated here:

# NOTE: The wolfMQTT examples include a CMakeLists.txt that will look for wolfssl
# source code. Using managed components will cause a conflict.
# The manifested error will be something like:
#   CMake Error at /opt/esp/idf/tools/cmake/component.cmake:250 (message):
#     ERROR: Cannot process component requirements.  Multiple candidates to
#       satisfy project requirements:
#     requirement: "wolfssl" candidates: "wolfssl, wolfssl__wolfssl"
# See `components/wolfssl.bak` rename, below, to avoid this error.
# A future CMakeLists.txt may handle this more gracefully.
#
# Additionally, the wolfSSL.bak cmake file needs to be renamed (disabled), as it
# goes looking for wolfssl source code - which is not present in docker CI build.


# We could test on all possible ESP-IDF targets:
#
#   targets=$(idf.py --list-targets)
#   for target in $targets; do
#       if [[ $target == esp32* ]]; then
#           echo "Found target to process: $target"
#       else
#           echo "Will skip target $target"
#       fi
#   done
#
# But for now just testing the basic ESP32

Copy link
Contributor

@dgarske dgarske left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. @embhorn over to you

Copy link
Member

@embhorn embhorn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excellent! Thanks, @gojimmypi !

@embhorn embhorn merged commit 1aa02d1 into wolfSSL:master Mar 5, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants