xtensa-build-zephyr.py: make --deployable-build the default
[OLD commit message]
Everyone should use deployable builds by default.
[NEW commit message]
Every Linux developer should use deployable builds by default.
Until Peter Ujfalusi's very recent work in this script, we had a
complete /lib/firmware/ structure disconnect between the IPC4 output
of this script and the IPC4 expectations of the Linux kernel. To
workaround this disconnect, every CI and Linux developer used to
implement duplicate and inconsistent firmware deployment hacks.
People crafting sof-bin releases also had to organize IPC4 releases manually, which was extremely error-prone and with limited test coverage (Thanks Kai and Mengdong!)
Now that Peter gracefully fixed the layout, documented it in sof-docs and implemented it in this script, the time for all Linux developers to drop their inconsistent deployment hacks is overdue. All these hacks must be replaced with a simple, one-line recursive copy which makes sure the layout committed in version control is constantly tested by everyone.
So, make deployable builds the new default.
The new default will also help with sof-bin releases, making sure they use a well tested /lib/firmware/ layout.
The --no-deployable-build was recently introduced to help minimize
disruption and migration effort for people and automation who do NOT use
Linux. The /lib/firmware/ directory structure is irrelevant outside
Linux (but everyone is of course free to choose it)
Signed-off-by: Marc Herbert [email protected]
@lrudyX , @wszypelt , all tests in https://sof-ci.01.org/sof-pr-viewer/#/build/PR8781/build13454079 failed like this:
E FileNotFoundError: [Errno 2] No such file or directory:
'C:\\Testing\\Builds\\pull-8781-merge_1931053\\
cSOF_zephyr\\LNL\\build-sof-staging\\sof\\community\\sof-lnl.ri'
Could you please add the new --no-deployable-build option where appropriate? This would make QB ignore this PR and stick to the older behavior. It can be done before this PR is merged, --no-deployable-build is already available now. This PR only flips the default value.
Hi @marc-hb first thing is the link you provide shows me a blank page (https://sof-ci.01.org/sof-pr-viewer/#/build/PR8781/build13454079) as for the "--no-deployable-build option" i need to discuss it with the team
If everyone should use deployable build then why QB shouldn't?
If everyone should use deployable build then why QB shouldn't?
I'm fine with that too but I expect that to take much more work and take much longer. The "deployable" layout matters only when you run a Linux kernel and these tests do not.
Hi @marc-hb first thing is the link you provide shows me a blank page (https://sof-ci.01.org/sof-pr-viewer/#/build/PR8781/build13454079)
You need to extract the number 13454079 and re-use it on the internal site. We lost the public export of these results a long time ago unfortunately.
@marc-hb can you say why everyone should use and any possible exceptions.
I just increased the commit message length from 1 line to 28 lines. Hope this clarifies!
@marc-hb --no-deployable-build option added where appropriate. PR passed all tests
Just one suspend/resume failure in https://sof-ci.01.org/sofpr/PR8781/build2242/devicetest/index.html and one pause resume "MAX" failure in https://sof-ci.01.org/sofpr/PR8781/build2241/devicetest/index.html
zephyr main branch incompatibility is known.
Nothing related to this PR, good to merge.
After second thought, back to draft until the current regressions and zephyr updates are resolved (#8818). Enough moving pieces already.
SOFCI TEST
Postponing again until after the latest, HWMv2 hurdle #8913
Frequent panic #8908 still observed in https://sof-ci.01.org/sofpr/PR8781/build3249/devicetest/index.html.
Postponing one hopefully last time.
EDIT: as seen in https://sof-ci.01.org/sofpr/PR8781/build3249/devicetest/index.html, the next panic ~is~ was:
- #8942
https://sof-ci.01.org/sofpr/PR8781/build3248/devicetest/index.html had only one known pause/resume failure.
SOFCI TEST
EDIT: only one known pause-resume failure in https://sof-ci.01.org/sofpr/PR8781/build3472/devicetest/index.html
https://sof-ci.01.org/sofpr/PR8781/build3473/devicetest/index.html is almost finished and looking great so far.
Only one known and totally unrelated failure at https://sof-ci.01.org/sofpr/PR8781/build3478/devicetest/index.html?model=MTLP_RVP_NOCODEC&testcase=multiple-pause-resume-50 , all the rest of that test plan is green.
Only one, totally unrelated suspend/resume failure in https://sof-ci.01.org/sofpr/PR8781/build3479/devicetest/index.html
quickbuild is still happy in https://sof-ci.01.org/sof-pr-viewer/#/build/PR8781/build13727404
Very small change, good to merge.
@ujfalusi @lyakh Can you check? We'd need on more approval, this is ready to go.