espressif / esp-idf-ci-action

GitHub Action for ESP32 CI
MIT License
67 stars 24 forks source link

include whole project in docker container #11

Closed jdoubleu closed 2 years ago

jdoubleu commented 2 years ago

This is a followup of https://github.com/espressif/esp-idf-ci-action/pull/10.

Instead of only mounting the path from the input in the container, this will mount the whole repository under /app inside the container and then cd inside the container before building it.

This fixes the issue of repos which contain multiple stand-alone projects, which rely on code outside the project itself, respectively. Usually to be found in projects which also maintain examples in subfolders. What if esp32-s2-hmi-devkit-1/examples/smart-panel (from the README) relies on code e.g. in esp32-s2-hmi-devkit-1/driver/....

jdoubleu commented 2 years ago

Thanks for the feedback! I've just pushed my new changes.

I'm sticking with your 2nd suggestions: using the container workspace parameter. This would call idf.py build inside the subdirectory, rather than the root directory. This might have different implications regarding the environment. Imagine a custom build/CMakeLists.txt where it accesses, for whatever reason, a file in the current working dir (pwd). I assume this wouldn't work as expected when called from the root directory. Again this is probably an unlikely edge-case, I'm just trying to anticipate any future issues.

kumekay commented 2 years ago

@jdoubleu Thank you for the update, LGTM, I also tested it for the case you described and it works fine https://github.com/kumekay/test_idf_project/runs/5522949237?check_suite_focus=true