Copy kernel-related artifacts from Docker build#6546
Conversation
Note: kernel.bin will not be fingerprinted since it is not supported by `firmware-fingerprint.py` [no changelog]
If signed secmon is missing, we can still upload unsigned prodtest/bootloader/secmon. [no changelog]
WalkthroughThis pull request includes two modifications to build and deployment configuration. The GitHub Actions workflow adds conditional "if: always()" directives to artifact upload steps, ensuring uploads proceed regardless of prior step outcomes. The build-docker.sh script extends the artifact build loop to include a kernel item, introduces error handling for the fingerprint step to prevent build failures, and adds a directory existence check before copying artifacts. Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
| model | device_test | click_test | persistence_test |
|---|---|---|---|
| T2T1 | test(all) main(all) ![]() |
test(all) main(all) ![]() |
test(all) main(all) ![]() |
| T3B1 | test(all) main(all) ![]() |
test(all) main(all) ![]() |
test(all) main(all) ![]() |
| T3T1 | test(all) main(all) ![]() |
test(all) main(all) ![]() |
test(all) main(all) ![]() |
| T3W1 | test(all) main(all) ![]() |
test(all) main(all) ![]() |
test(all) main(all) ![]() |
Latest CI run: 22615906147
|
Tested by:
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@build-docker.sh`:
- Around line 280-287: The loop that runs firmware-fingerprint.py currently
swallows all failures via "|| echo ..." for every item (bootloader, secmon,
kernel, firmware, prodtest); change it so only the unsupported item "kernel"
tolerates a missing/failed fingerprint: in the loop body invoke the fingerprint
command normally for bootloader, secmon, firmware and prodtest (so errors
propagate and fail the script), and only for item == "kernel" append the
fallback "|| echo ..." to avoid failing CI for that one case; locate the loop
over items and the invocation of python/tools/firmware-fingerprint.py to make
this change.




































Note: kernel.bin will not be fingerprinted since it is not supported by
firmware-fingerprint.py.