-
Notifications
You must be signed in to change notification settings - Fork 34
ci(workflow): Add esp-idf network examples build #124
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
base: master
Are you sure you want to change the base?
Conversation
084d360 to
2817f4a
Compare
2817f4a to
56cfcbb
Compare
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.
LGTM, thx for the update.
17462de to
3c4828c
Compare
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.
@roma-jam I can see that the CI is doing what you need, but it seems that it can be optimized a little
| # Go through all collected apps | ||
| for app in apps_with_glob: | ||
| # Verify that the app is a valid directory | ||
| if not path.isdir(app): |
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.
We use modern pathlib.Path instead of os.path in this file. Lets keep it that way for consistency
| if not path.isdir(app): | |
| if not Path(app).is_dir(): |
| strategy: | ||
| matrix: | ||
| idf_ver: ["release-v5.0", "release-v5.1", "release-v5.2", "release-v5.3", "release-v5.4", "latest"] | ||
| target: ["esp32s2", "esp32s3", "esp32p4"] |
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.
Previously, we build all targets in one job. Now we have one job for each target, which is slower.
Could you please check if idf-build-apps --target all can handle the idf version correctly? Eg. it will not build for esp32p4 on idf release which do not support P4?
Please test this locally, so we do not onverload the test runners...
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.
Just confirmed this works. idf-build-apps --target all on idf v5.1.2 will not list ESP32-P4 target
FYI like this
[(v5.1.2)]> idf-build-apps find -p examples/peripherals/usb/host --recursive --manifest-file examples/peripherals/.build-test-rules.yml
| example: | ||
| - { name: "USB Device", path: "examples/peripherals/usb/device", manifest_path: "examples/peripherals"} | ||
| - { name: "Network", path: "examples/network", manifest_path: "examples/network" } |
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.
| idf-build-apps find --path ${{ matrix.example.path }} --recursive --target ${{ matrix.target }} --manifest-file ${{ matrix.example.manifest_path }}/.build-test-rules.yml --build-dir build_@t_@w --work-dir @f_@t_@w | ||
| idf-build-apps build --path ${{ matrix.example.path }} --recursive --target ${{ matrix.target }} --manifest-file ${{ matrix.example.manifest_path }}/.build-test-rules.yml --build-dir build_@t_@w --work-dir @f_@t_@w |
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.
--manifest-files accepts multiple parameters, so you can pass both .build-test-rules.yml to one command
|
@tore-espressif Thanks for the review, will address all the notes asap. |
|
@tore-espressif I think optimization could take some time, so I think that this feature (have a example/network in CI) is not that important for the current fix-release. I think we might remove this PR from the release, to push it asap to get back on track. For fix-release, PTAL: #126 |
|
OK, agreed |
|
@roma-jam Do you plan to update this PR? |
|
@tore-espressif building network examples should be fixed by now, so we can add them to the CI and build them by using manifest file. Yes, I will check it once again and if it works I'll update this PR. |

Description
This is a 3/3 PR to verify fixing the problem.
PR plan:
Related
Testing
N/A
Checklist
Before submitting a Pull Request, please ensure the following: