Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR makes a few changes to the way ccache is used for CI.
I did consider adding ccache detection to
export.sh
so it gets enabled by default.Whilst ccache is great and seems quite robust, if things do go wrong it just adds more complication for users to sort out so requiring manual activation seems best I think.
Simplify CI ccache use
Hendrik Muhs
ccache-action
got things working easily, but it does installation and some other stuff which we don't need and creating versioned caches on every run is un-necessary.Instead, just use the standard
cache
action as used for IDF tools, so pull requests use thedevelop
branch cache if available or creates one. This keeps things clean and simple.However, once created caches aren't update automatically, so I've added a workflows to rebuilding the tools which is required if the IDF toolchains get updated.
I've also added a second 'cache clean` workflow which removes any cache entries for pull requests (specifically, not develop).
Tidy action scripts
if
clause doesn't require${{ }}
Esp32 tools installation
Installer is still re-installing the tools (gdb, etc.) we've previously pruned out.
So just skip esp32 tools installation for CI if directory already present.
IDF also insists on pulling unwanted submodules back in again, even though they're not used.
Fortunately there is
IDF_SKIP_CHECK_SUBMODULES=1
to disable this behaviour.Also some improvements to the
clean-tools.py
script. Works much better. Have added some notes to theTools/ci/README.rst
.This is also a useful step in identifying and eliminating stuff we don't need for Sming.
One thing I have in mind is getting rid of the IDF build step completely and just building the required code separately.
Unfortunately the whole SDK is excessively complex and have found the Rp2040 much easier to work with in practice.
If I ever find a serious application for the extra hardware in an esp32 I might revisit this...