github-actions: Add CBR support in kernelCI#983
Open
shreeya-patel98 wants to merge 1 commit intomainfrom
Open
Conversation
build_kernel.sh calls image_from_container.sh by name (PATH lookup), which resolves to /usr/local/bin/ in the builder container. Mount the version from kernel-container-build directly there so CI always uses the latest script. Allow callers to skip the kselftests stage entirely. Useful for CBR (RHEL 7) where kselftest coverage is minimal due to the old kernel. Now compare-results always runs when build+boot succeed, but gates the three kselftest-specific steps (download current logs, download baseline, compare results) on !inputs.skip_kselftests. Base branch detection always runs, ensuring create-pr has the base branch in all scenarios including force pushes with existing PRs. Signed-off-by: Shreeya Patel <spatel@ciq.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the multi-arch kernel build/test GitHub Actions workflow to support CBR (RHEL 7) scenarios by making kselftests optional, ensuring the container build always uses the intended image_from_container.sh, and tightening when comparison/PR creation runs.
Changes:
- Add
skip_kselftestsworkflow input and gate kselftest-related jobs/steps accordingly. - Mount
image_from_container.shinto/usr/local/binin the builder container to avoid PATH resolving to a stale script. - Adjust
compare-resultsandcreate-prconditions to run when build+boot succeed, and expand valid base branch whitelist (addsciqcbr7_9).
Comments suppressed due to low confidence (1)
.github/workflows/kernel-build-and-test-multiarch.yml:306
- In
compare-results, the workflow downloads the current kselftest artifact before determiningbase_branch. If thekselftest-logs-*artifact is missing/unavailable (e.g., test job failed before upload, artifact expired, or naming mismatch),actions/download-artifactwill fail the job and preventDetermine base branch for comparisonfrom running, which then breakscreate-pr(it relies onneeds.compare-results.outputs.base_branch). To make base-branch detection reliably run, move base-branch detection earlier and/or make the download step non-fatal (e.g.,continue-on-error: true) when logs can’t be fetched.
- name: Download current kselftest logs
if: ${{ !inputs.skip_kselftests }}
uses: actions/download-artifact@v4
with:
name: kselftest-logs-${{ matrix.arch }}
path: output-current
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
roxanan1996
approved these changes
Mar 18, 2026
bmastbergen
approved these changes
Mar 18, 2026
Collaborator
bmastbergen
left a comment
There was a problem hiding this comment.
LGTM but you may need to rebase and fixup. I'm guessing it conflicts with the skip_kabi PR I merged a little bit ago.
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.
build_kernel.sh calls image_from_container.sh by name (PATH lookup), which resolves to /usr/local/bin/ in the builder container. Mount the version from kernel-container-build directly there so CI always uses the latest script.
Allow callers to skip the kselftests stage entirely. Useful for CBR (RHEL 7) where kselftest coverage is minimal due to the old kernel.
Now compare-results always runs when build+boot succeed, but gates the three kselftest-specific steps (download current logs, download baseline, compare results) on !inputs.skip_kselftests. Base branch detection always runs, ensuring create-pr has the base branch in all scenarios including force pushes with existing PRs.
Example PR #977