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.
Summary
We had a hack to get OTA working that involved trying indefinitely
to get a successful firmware upgrade. Failures would happen in the
middle of pulling the payload, seemingly connected to a context switch
where another thread started interacting with the modem.
This problem was actually caused by a bug in our FOTA code, where
the dynamic memory holding the download URL would sometimes get
freed early. The latest SDK release fixed this bug, so we are pulling in
that fix and reverting the indefinite retrying logic.
Also, add a github action that builds the app. Long overdue!
With the memfault version bumped up, the build fails due to insufficient
space. We added the self test, which caused this image size bump of
about ~1kB. Disabling the memfault shell for now until we get the option
to disable the self test (currently a feature in review).
Test Plan
OTA fails when the hack is removed but before pulling in the SDK fix:
OTA succeeds after pulling in SDK fix. Notice no error when there is a context switch.
Github action testing:
CONFIG_MEMFAULT_SHELL=n
(see here)Resolves: MFLT-12841