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

cpu/esp: compile optional modules in CI #17314

Merged

Conversation

gschorcht
Copy link
Contributor

@gschorcht gschorcht commented Dec 1, 2021

Contribution description

A number of optional ESP modules (#12960) can be used by an application to select additional features of the ESP implementation. Since these optional ESP modules are not enabled by default, they are not covered by the compilation test in CI. This led to compilation issues in the past from time to time, for example #17305.

This PR adds some dependencies for two boards (an ESP8266 and an ESP32 board) that enable all these optional ESP modules when compiled in the CI. Some of these optional ESP models are used by these boards by default, others are only used in certain test applications depending on the use of other modules.

This PR is a try to solve the problem without the necessity to create copies of existing test applications for these optional modules like in PR #12971 or to define a new virtual board that uses them.

Testing procedure

Compilation should succeed in CI.

Issues/PRs references

@gschorcht gschorcht added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Dec 1, 2021
@github-actions github-actions bot added Area: boards Area: Board ports Area: cpu Area: CPU/MCU ports Platform: ESP Platform: This PR/issue effects ESP-based platforms labels Dec 1, 2021
@gschorcht gschorcht added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Dec 2, 2021
To test compilation of optional ESP32 modules, these modules are enabled for the `esp32-wrover-kit` borad when compiled in CI. The use of some of these optional modules depend on the use of other modules.
To test compilation of optional ESP8266 modules, these modules are enabled for the `esp8266-olimex-mod` board when compiled in CI. The use of some of these optional modules depend on the use of other modules.
@gschorcht gschorcht force-pushed the boards/esp/compile_optional_modules branch from 9f03517 to 891a0aa Compare December 2, 2021 05:18
@gschorcht
Copy link
Contributor Author

@benpicco @kaspar030 This approach seems to work without the need to create copies of existing test applications for optional ESP modules as in PR #12971 or to define a new virtual board that uses them. The compilation of these optional modules does not depend on additional defines, i.e. it is sufficient to compile them for one board.

Copy link
Contributor

@benpicco benpicco left a comment

Choose a reason for hiding this comment

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

I like it, there are still enough other esp boards to test the defaults on CI

@gschorcht
Copy link
Contributor Author

@benpicco Can we merge?

@benpicco benpicco merged commit 13f03ad into RIOT-OS:master Dec 10, 2021
@benpicco
Copy link
Contributor

Sure!

@gschorcht
Copy link
Contributor Author

Thanks for reviewing and merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: boards Area: Board ports Area: cpu Area: CPU/MCU ports CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Platform: ESP Platform: This PR/issue effects ESP-based platforms
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants