ci(build-kernel): add flavours and s3_prefix inputs - #67
Conversation
782b7b3 to
cbdfebd
Compare
There was a problem hiding this comment.
Thanks Guanquan, this is what I asked for. Couple of things.
The S3 routing won't work as written. github.event_name in a reusable workflow is the caller's event, not workflow_call, so this always lands on temp. You can see it on the premerge run for #61, it reports event=pull_request with Build check / Build as a job inside it. Probably cleanest as an explicit s3_prefix input that premerge passes, rather than inferring it from the trigger.
And I want to walk back my own suggestion on binary-indep. I told you to fold it into the flavor list yesterday, but linux-headers-*-FLAVOUR and linux-tools-*-FLAVOUR both depend on the indep packages, so leaving it out gives you packages that won't install. Right now premerge is the only caller that passes it, everything else gets it for free via binary. Better if the input is just flavour names and indep always gets built. Still one input, just one you can't get wrong.
While we're at it, worth making the list space separated to match how Canonical declares them in debian.qcom/rules.d/arm64.mk (flavours = qcom qcom-rt) rather than a comma separated form we'd be inventing. Same unit, same separator, and it drops straight into the TARGET string make consumes.
Rest inline.
…lt, explicit s3_prefix Rename the flavor input to flavours and switch from a comma-separated token list to space-separated flavour names, matching how Canonical declares flavours in debian.qcom/rules.d/arm64.mk (e.g. "qcom qcom-rt"). binary-indep is no longer an optional token: it is always built alongside the selected flavours, since linux-headers-*/linux-tools-* packages depend on it and previously could be built into an uninstallable combination if the caller omitted it. Replace the S3 upload destination's github.event_name check with an explicit s3_prefix input. A reusable workflow's own github.event_name reflects the caller's original triggering event, not "workflow_call", so premerge-pr.yml calls were always landing under pkg/temp/ instead of the intended pkg/premerge/. Callers now declare their prefix directly. Updates docs/PIPELINE.md to match. Signed-off-by: Guanquan Tian <guanquan@qti.qualcomm.com>
cbdfebd to
4fe4c99
Compare
There was a problem hiding this comment.
All three addressed, thanks.
Traced the target resolution: ALL gives binary, qcom gives binary-indep binary-qcom, qcom qcom-rt gives binary-indep binary-qcom binary-qcom-rt, and an empty value falls back to ALL via inputs.flavours || 'ALL'. s3_prefix is declared on workflow_call only, so dispatch and schedule fall through to temp, and premerge passes premerge.
75955ff
into
qualcomm-linux:main
Summary
flavours: ALL (default) builds every flavour for nightly/manual runs; any other value is a space-separated list of flavour names (e.g. "qcom", "qcom
qcom-rt"), matching how Canonical declares them in debian.qcom/rules.d/arm64.mk. binary-indep is always built alongside the selected flavours, since
linux-headers-/linux-tools- depend on it.
s3_prefix: callers declare their S3 destination prefix directly (e.g. premerge for premerge-pr.yml, default temp).
docs/PIPELINE.md documents both inputs.