Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe change extracts host architecture detection into ChangesHost initialization and artifact configuration
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The supported artifact configuration dump workflow has no remaining identified merge-blocking risk. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ 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 |
|
Beyond fixing the crash, this makes an existing exact answer usable. The artifact hash is the digest of every input (git SHA, patches, That was impractical until now: on a plain checkout the command died with It does not replace the narrowing #10473 does -- a dump costs about a minute per artifact, so 403 boards is out of the question. It is an exact check on top of that narrowing. |
|
Hmm. Isn't this covered by (I think the reasoning back then was that the host is going to be prepared by the invoker of the config dump, so doesn't "need" to be prepared again) |
|
Nothing loses its host preparation. In GHA the invoker still prepares it and passes |
|
Yes, the assumption changes from "host will have been prepared by parent/caller" to "host doesn't ever need to be prepared (save for rootfs)" - I don't mind, just wonder how much fallout will come later. |
|
We won't know until we try™ |
ba9b01c to
2f45430
Compare
2f45430 to
9db44dd
Compare
`artifact-config-dump-json` died with `error 43` on any plain checkout: `CONFIG_DEFS_ONLY=yes` makes `prep_conf_main_minimal_ni()` skip `check_basic_host()`, so `HOSTRELEASE` and `HOSTARCH` stay unset, while `late_prepare_host_dependencies()` inside `prepare_host()` requires both. Obtain the two values in `cli_artifact_run()` when the dump skipped those checks; the host arch is split out of `obtain_and_check_host_release_and_arch()` as `obtain_hostarch_only()`. Host preparation itself is untouched: the command prepares the host like every other artifact command, or trusts the caller's `PRE_PREPARED_HOST=yes`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
9db44dd to
6874e45
Compare
|
Reworked after the discussion above: host preparation is no longer skipped. The previous version changed the assumption to "the host never needs to be prepared", and the What is left here is only the cause of the original crash: |
Problem.
artifact-config-dump-jsondied witherror 43on any plain checkout.CONFIG_DEFS_ONLY=yesmakesprep_conf_main_minimal_ni()skipcheck_basic_host(), yet theartifact handler still reaches
prepare_host(), whoselate_prepare_host_dependencies()requires
HOSTRELEASEandHOSTARCH.Fix. Obtain both values when the dump skipped those checks; the host arch is split out of
obtain_and_check_host_release_and_arch()asobtain_hostarch_only().Host preparation itself is unchanged. The command prepares the host like every other artifact
command -- inside the container when it relaunches into docker -- or skips it on
PRE_PREPARED_HOST=yes, which is whatlib/tools/common/armbian_utils.pypasses.Tested on an arm64 host: with
output/infoabsent,artifact-config-dump-json WHAT=kernel BOARD=helios4 BRANCH=edgeprints the JSON and leaves the host untouched, and itsartifact_versionis byte-identical to the same dump run on main.Summary by CodeRabbit
Bug Fixes
Refactor