-
Notifications
You must be signed in to change notification settings - Fork 80
Add comment to "Compile Examples" workflow re: esp8266:esp8266
version
#325
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
Add comment to "Compile Examples" workflow re: esp8266:esp8266
version
#325
Conversation
A specific version of the "esp8266" boards platform is installed on the Arduino Cloud servers. Since that is the primary environment the sketches using this library are compiled in, it is necessary for the "Compile Examples" GitHub Actions workflow to use the same version of the platform when running the test compilations of the library examples in order to ensure the results from the CI system will match those from real usage. This requirement is not obvious. Since the workflow does not pin the other platform versions (because Arduino Cloud typically uses the latest version), the pinning of this platform specifically might be the source of confusion for the maintainers. So it is worth documenting the reason.
Hi @per1234,
should we add it or it is using a different way to select the correct version? |
I noticed that while I was preparing this PR. I think pinning it is definitely worth considering. I think the best approach is to run the compilations in the environment that is expected to exist at the time of the next release of the library. So the current configuration would be appropriate if the plan is to update Arduino Cloud to the latest release of the ESP32 platform before the next release of this library, but otherwise it would be better to pin the ESP32 platform dependency to a specific version as was done for esp8266. |
Memory usage change @ c9e814b
Click for full report table
Click for full report CSV
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Definitely a good idea to collect this rake before someone steps on it. While I do remember why we are pinned to 2.5.0 I may not always be around or at the right place to answer that question.
A specific version of the "esp8266" boards platform is installed on the Arduino Cloud servers.
Since that is the primary environment the sketches using this library are compiled in, it is necessary for the "Compile Examples" GitHub Actions workflow to use the same version of the platform when running the test compilations of the library examples in order to ensure the results from the CI system will match those from real usage.
This requirement is not obvious. Since the workflow does not pin the other platform versions (because Arduino Cloud typically uses the latest version), the pinning of this platform specifically might be the source of confusion for the maintainers (e.g., #290). So it is worth documenting the reason.