SmingHub / Sming

Sming - powerful open source framework simplifying the creation of embedded C++ applications.
https://sming.readthedocs.io
GNU Lesser General Public License v3.0
1.45k stars 349 forks source link

Add IDF caching for libraries #2850

Closed mikee47 closed 2 days ago

mikee47 commented 2 days ago

Cache esp-idf and tools for library builds. Be nice if we could use the cache from SmingHub/Sming directly but that sort of cross-repo sharing isn't supported.

Also discovered that cross-OS caching breaks because the cache action uses paths relative to the build directory, even though it's been given absolute paths. So, just simplify the thing and use a separate, combined cache for each OS/IDF combination. Total's about 5GB.

In all the .yml files we don't need to repeat steps for Ubuntu/MacOS as they're the same, so we can use a combined step for those, ie. not windows.

Scanlog tool:

Also fix a few more warnings.

what-the-diff[bot] commented 2 days ago

PR Summary

mikee47 commented 2 days ago

I'm impressed with that summary from 'what-the-diff' - it's actually useful :-)

mikee47 commented 2 days ago

Changing to WIP, library caching not quite working as expected for Ubuntu.

mikee47 commented 2 days ago

Yep, turning build debugging on it's using relative paths when restoring the cache. Looks like the cache for IDF was saved in Windows and ended up being restored to a sub-folder somewhere. I'll have a dig about and see if the damn thing can use absolute paths like it's been given.

mikee47 commented 2 days ago

Hang on, what's varibale ? I thought AI could spell...