Skip to content

ci: clean up kernel_config - #83

Merged
Christopher Obbard (obbardc) merged 4 commits into
mainfrom
wip/obbardc/matrix-fixes
Aug 28, 2026
Merged

ci: clean up kernel_config#83
Christopher Obbard (obbardc) merged 4 commits into
mainfrom
wip/obbardc/matrix-fixes

Conversation

@obbardc

@obbardc Christopher Obbard (obbardc) commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Clean up the kernel build matrix and kernel_config handling:

  • represent kernel_config as a JSON array
  • remove fragment entries that are already applied from debian/config-available/

Also add additional requested config to qcom-next-debug.

@obbardc Christopher Obbard (obbardc) changed the title ci: temporarily drop resolute and clean up the build matrix ci: clean up kernel_config Aug 28, 2026
"kernel_config" is currently a comma-separated string. Switch the value
in the matrix to a native JSON array instead.

Signed-off-by: Christopher Obbard <[email protected]>
Since 5cd4aae all config fragments from `debian/config-available/` are
applied automatically. `kernel_config` therefore only needs to list
additional `intree:` fragments.

Drop the redundant fragment list and update the workflow inputs to allow
an empty list without restoring the old defaults.

No change to the resulting kernel configuration.

Signed-off-by: Christopher Obbard <[email protected]>
An "intree:" entry currently names a bare fragment which prepare-source.sh
resolves under arch/arm64/configs/, so nothing outside that one directory
can be referenced. The kernel ships useful fragments elsewhere, notably
kernel/configs/debug.config.

Spell the whole path relative to the kernel source root instead, e.g.
intree:arch/arm64/configs/qcom_debug.config. Every directory in the tree
becomes reachable and the entry says exactly which file it activates
rather than leaving the directory implicit.

Validate the new form while resolving the matrix, so a typo fails here
instead of deep inside the build container: an "intree:" path must be
relative and end in .config, with absolute paths and ".." traversal
rejected. Fragments land in debian/config/ under their basename, so also
reject two entries resolving to the same basename, which the wider
namespace now makes reachable (arch/arm64/configs/hardening.config and
kernel/configs/hardening.config both exist).

Signed-off-by: Christopher Obbard <[email protected]>
The qcom-next-debug variant exists to carry the kernel's debugging
options, but it activates only arch/arm64/configs/qcom_debug.config. The
generic kernel/configs/debug.config, which the kernel maintains as the
common debug fragment, was reachable only through build-kernel-deb.yml's
--debug toggle and so never applied to the daily and release deliveries.

Add it to both qcom-next-debug rows, now that an "intree:" entry can name
a path outside arch/arm64/configs/. The variant then gets the same debug
configuration whichever path builds it and the fragment stays versioned
with the kernel it targets.

Signed-off-by: Christopher Obbard <[email protected]>
@bjordiscollaku

Copy link
Copy Markdown
Contributor

Cleanup half looks good. Dropping the fragment list is the leftover from #76 and the array validation is nicer than the old required_string, no notes there. Thanks for the context on debug.config, ftrace-without-a-debugger makes sense as a separate thing from -dbg.

Landing this together with #86 works for me. One consequence worth flagging: pr-build.yml takes the matrix from main HEAD but the packaging from the PR head, so any packaging PR whose head predates #86 will start failing its qcom-next-debug legs the moment this lands, until it rebases. That is #74, #80 and #85 as of now.

Unrelated, spotted while reading: the DEB_BUILD_PROFILES=debug block in d/rules guards on arch/arm64/configs/debug.config, which does not exist in the tree, so it has always been a no-op. Now that the variant covers this properly, drop it in a follow-up?

@obbardc

Copy link
Copy Markdown
Contributor Author

Unrelated, spotted while reading: the DEB_BUILD_PROFILES=debug block in d/rules guards on arch/arm64/configs/debug.config, which does not exist in the tree, so it has always been a no-op. Now that the variant covers this properly, drop it in a follow-up?

!74 removes the DEB_BUILD_PROFILES=debug handling, perhaps that should be landed with this

@obbardc
Christopher Obbard (obbardc) merged commit 9ed5d0e into main Aug 28, 2026
3 checks passed
@obbardc
Christopher Obbard (obbardc) deleted the wip/obbardc/matrix-fixes branch August 28, 2026 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants