feat(workflows): support project-specific extra targets - #14
Open
ArcanePivot wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
extra_targets_jsoninput to the reusable CI, nightly, and release workflowsbuild_argsoverrideMotivation
Projects occasionally need one extra architecture without changing the defaults for every Null-family repository. Replacing
targets_jsonworks, but it duplicates the shared matrix in the caller and can drift as nullbuilder evolves.This is motivated by a verified NullClaw MIPS target for an HC5861 router running OpenWrt 23.05.5 (
mipsel_24kc, MIPS32r2 soft-float). Keeping it project-specific avoids forcing unrelated Null projects to support MIPS.Validation
actionlintv1.7.12 passesgit diff --checkpassesjqcases cover empty extras, MIPS append, duplicate names, and invalid per-target argumentsd8a802fbuilds with Zig 0.16.0 using:The resulting 7,044,980-byte static MIPS32r2 binary reports the embedded version and starts an isolated gateway on the physical HC5861.
/healthreturns{"status":"ok"}and idle RSS is about 4.7 MB. The production agent was not modified or restarted.Compatibility
The new input defaults to
[], so existing callers keep the same matrices and build arguments.build_argsremains optional on every target.Embedded wasm3 is disabled only for this proposed MIPS target because its C build currently crashes the Zig/Clang frontend for
mipsel-linux-musleabi; NullClaw default channels and SQLite remain enabled.After merge, the reusable workflow
v1branch/reference will need to be updated before a follow-up NullClaw PR can consume the new input.