-
Notifications
You must be signed in to change notification settings - Fork 37
feat(ci): Build idf examples with overriden class driver components #265
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
feat(ci): Build idf examples with overriden class driver components #265
Conversation
|
The same build error as from esp-idf here, CI Job failed correctly. |
3f82051 to
4428739
Compare
5df8257 to
6188f04
Compare
230b2f8 to
cc13fa5
Compare
fc6bcde to
aa22194
Compare
aa22194 to
6c311ee
Compare
6c311ee to
19d38c1
Compare
tore-espressif
left a comment
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.
@peter-marcisovsky Thank you for the work on this.
The original purpose of override_managed_component.py was to enable testing of examples or tests for components that are located outside their original repositories. The intent was for the script to remain reusable across different repositories facing similar constraints.
The proposed changes introduce behavior that is specific to the esp-usb repository. We should clarify whether we want to:
-
Redefine the scope of this script to be esp-usb-specific, or
-
Improve its design to keep it reusable.
If we choose the second option, possible improvements include:
-
Invoking the script once for each overridden class driver, avoiding assumptions about component names derived from paths.
-
Removing special-case handling for components that already contain an
idf_component.ymlfile (e.g.,usb_host_lib).
|
Thanks for the review. It would make more sense to keep the I will modify it in a way, so the script would override each component separately. |
f42a9d0 to
1746fa2
Compare
1746fa2 to
1195396
Compare
|
@tore-espressif I updated according to what we discussed, PTAL The |
1195396 to
505f90b
Compare
- all component used in usb device and host examples are overridden
- using ignore_build_warnings.txt from esp-idf to match the idf CI environment
505f90b to
a0b7f49
Compare
Description
This MR runs IDF examples with all the components overriden.
Right now, only
usbandesp_tinyusbComponents are overriden in IDF examples, but class dirivers are still used from esp registry.This would prevent us from accidentally breaking esp-idf CI before releasing any new component
Changes
override_managed_component.py: is modified in a flexible way, so it can also be used in different repositories with little to no modificationesp-usbare usedcherryUSBexamples are excluded from buildusb_host_libas it does not contain any component manifest file in IDF < 6.0,idf_component.ymlis created in a CI job step, and then, theusbcomponent is used as overridden.Related
Checklist
Before submitting a Pull Request, please ensure the following:
Note
Build ESP-IDF USB examples with strict flags and locally overridden
esp_tinyusb,usb, and all USB host class drivers, excluding CherryUSB and adding UVC/manifest rules..github/workflows/build_idf_examples.yml):esp_tinyusb(IDF ≥ 6.0),usb(service releases), and all host class drivers (usb_host_*for CDC/HID/MSC/UVC) for all releases.idf_component.ymlforhost/usb_host_libon IDF < 6.0 to enableusboverride.-Werrorvariants) and use centralized config/manifest paths..github/ci/override_managed_component.py):.idf_build_examples_config.toml: exclude CherryUSB examples; useignore_build_warnings.txt..idf-build-examples-rules.yml: adjust USB host rules; enablehost/uvconly on IDF ≥ 6.0; keep USB support guards.Written by Cursor Bugbot for commit a0b7f49. This will update automatically on new commits. Configure here.