Skip to content

Enable building and testing container-common-scripts with TMT/FMF plans for C11S and RHEL11#424

Merged
phracek merged 2 commits intomasterfrom
enable_testing_c11s_rhel11_by_ga
Apr 16, 2026
Merged

Enable building and testing container-common-scripts with TMT/FMF plans for C11S and RHEL11#424
phracek merged 2 commits intomasterfrom
enable_testing_c11s_rhel11_by_ga

Conversation

@phracek
Copy link
Copy Markdown
Member

@phracek phracek commented Apr 15, 2026

Enable building and testing container-common-scripts with
TMT/FMF plans for C11S and RHEL11.

As c11s and RHEL11 compose are not available yet
let's use for now CentOS Stream 10 and RHEL10.

Later on we can easily update only compose.

This pull request block #423

Summary by CodeRabbit

  • Chores
    • Expanded CI/CD testing infrastructure to support CentOS Linux Stream 11 (c11s) and Red Hat Enterprise Linux 11 (rhel11) operating systems, enhancing test coverage across additional Linux distribution versions.

TMT/FMF plans for C11S and RHEL11.

As c11s and RHEL11 compose are not available yet
let's use for now CentOS Stream 10 and RHEL10.

Later on we can easily update only compose.

Signed-off-by: Petr "Stone" Hracek <phracek@redhat.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 15, 2026

📝 Walkthrough

Walkthrough

GitHub Actions workflow expands the job matrix to include testing on new OS targets c11s and rhel11. The Testing Farm variables selection logic is restructured from nested if/else conditionals to a flatter if/elif/else chain, with new branches for all target OS platforms and corresponding compose, context, and tmt_plan assignments.

Changes

Cohort / File(s) Summary
GitHub Actions Workflow Configuration
.github/workflows/container-tests.yml
Expanded job matrix with new c11s and rhel11 OS targets. Restructured Testing Farm variables logic from nested conditionals to flat if/elif/else chain. Added routing for c11s to public scope and separate branches for rhel9, rhel10, rhel11 with corresponding compose, context, and tmt_plan values. TODO comments flag placeholder values for c11s and rhel11.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • pkubatrh
  • pkhartsk

Poem

🐰 The workflow now hops through new terrain,
From c11s to rhel's domain,
With if/elif branches laid so flat,
Testing grounds expand with that!
(Though TODO notes suggest: "Not yet, dear mat")

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: enabling C11S and RHEL11 support in the container testing workflow via TMT/FMF plans, which is the primary focus of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch enable_testing_c11s_rhel11_by_ga

Warning

Review ran into problems

🔥 Problems

Timed out fetching pipeline failures after 30000ms


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 15, 2026

Pull Request validation

Failed

🔴 Failed or pending statuses:

  • Testing Farm - RHEL10 - s2i-python-container[pending]
  • Testing Farm - RHEL10 - s2i-base-container[pending]
  • Testing Farm - CentOS Stream 9 - postgresql-container[pending]
  • Testing Farm - CentOS Stream 10 - s2i-python-container[pending]
  • Testing Farm - CentOS Stream 10 - nginx-container[pending]
  • Testing Farm - RHEL10 - postgresql-container[pending]
  • Testing Farm - Fedora - postgresql-container[pending]
  • Testing Farm - Fedora - s2i-perl-container[pending]
  • Testing Farm - CentOS Stream 10 - s2i-perl-container[pending]
  • Testing Farm - CentOS Stream 10 - postgresql-container[pending]
  • Testing Farm - RHEL8 - s2i-python-container[pending]
  • Testing Farm - RHEL9 - s2i-perl-container[pending]
  • Testing Farm - Fedora - s2i-python-container[pending]
  • Testing Farm - RHEL9 - postgresql-container[pending]
  • Testing Farm - CentOS Stream 9 - s2i-python-container[pending]
  • Testing Farm - RHEL10 - s2i-perl-container[pending]
  • Testing Farm - RHEL8 - nginx-container[pending]
  • Testing Farm - RHEL9 - s2i-python-container[pending]
  • Testing Farm - CentOS Stream 9 - s2i-base-container[pending]

🔴 Review - Missing review from a member (1 required)

@phracek phracek requested a review from pkhartsk April 15, 2026 10:19
Comment thread .github/workflows/container-tests.yml
Comment thread .github/workflows/container-tests.yml Outdated
Signed-off-by: Petr "Stone" Hracek <phracek@redhat.com>
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.github/workflows/container-tests.yml (1)

35-57: Fail fast for unknown OS values instead of implicit fallback.

Both inner else branches currently assume the final known OS (c11s / rhel11). That works today, but a future typo or new matrix value would be silently misrouted. Prefer explicit branches plus a terminal error path.

♻️ Proposed hardening
-            elif [ "${{ matrix.os }}" == "c10s" ]; then
+            elif [ "${{ matrix.os }}" == "c10s" ]; then
                 compose="CentOS-Stream-10"
                 context="CentOS Stream 10"
                 tmt_plan="/c10s"
-            else
+            elif [ "${{ matrix.os }}" == "c11s" ]; then
               # TODO - update compose and context for c11s when it will be available in Testing Farm
               compose="CentOS-Stream-10"
               context="CentOS Stream 11"
               tmt_plan="/c11s"
+            else
+              echo "Unsupported OS in public scope: ${{ matrix.os }}" >&2
+              exit 1
             fi
           else
             if [ "${{ matrix.os }}" == "rhel8" ]; then
               compose="RHEL-8.10.0-Nightly"
               context="RHEL8"
               tmt_plan="/rhel8-docker$"
             elif [ "${{ matrix.os }}" == "rhel9" ]; then
               compose="RHEL-9.6.0-Nightly"
               context="RHEL9"
               tmt_plan="/rhel9-docker$"
             elif [ "${{ matrix.os }}" == "rhel10" ]; then
               compose="RHEL-10-Nightly"
               context="RHEL10"
               tmt_plan="/rhel10-docker$"
-            else
+            elif [ "${{ matrix.os }}" == "rhel11" ]; then
               # TODO - update compose and context for rhel11 when it will be available in Testing Farm
               compose="RHEL-10-Nightly"
               context="RHEL11"
               tmt_plan="/rhel11-docker$"
+            else
+              echo "Unsupported OS in private scope: ${{ matrix.os }}" >&2
+              exit 1
             fi
           fi

Also applies to: 59-76

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/container-tests.yml around lines 35 - 57, The OS branch
logic currently falls through to a default that implicitly treats unknown values
as 'c11s'/'rhel11'; update the conditional in the block handling matrix.os (the
branches that set compose, context, tmt_plan and
api_key/branch/tf_scope/tmt_repo) to include explicit elif cases for "c11s" (and
"rhel11" in the other similar block) and replace the final else with a terminal
error path that echoes "Unknown OS: ${ matrix.os }" and exits non-zero; apply
the same explicit branching + fatal-else change to the second occurrence (the
similar block at lines referenced in the comment) so any unrecognized matrix.os
fails fast instead of silently falling back.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/container-tests.yml:
- Around line 35-57: The OS branch logic currently falls through to a default
that implicitly treats unknown values as 'c11s'/'rhel11'; update the conditional
in the block handling matrix.os (the branches that set compose, context,
tmt_plan and api_key/branch/tf_scope/tmt_repo) to include explicit elif cases
for "c11s" (and "rhel11" in the other similar block) and replace the final else
with a terminal error path that echoes "Unknown OS: ${ matrix.os }" and exits
non-zero; apply the same explicit branching + fatal-else change to the second
occurrence (the similar block at lines referenced in the comment) so any
unrecognized matrix.os fails fast instead of silently falling back.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ad62fe56-65f4-463a-bbfe-f81806dd8d7a

📥 Commits

Reviewing files that changed from the base of the PR and between 96c4f7e and 1762ede.

📒 Files selected for processing (1)
  • .github/workflows/container-tests.yml

@phracek
Copy link
Copy Markdown
Member Author

phracek commented Apr 15, 2026

[test]

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 15, 2026

Testing Farm results

namecomposearchstatusstarted (UTC)timelogs
Fedora - s2i-base-containerFedora-latestx86_64✅ passed15.04.2026 11:24:0311min 57stest pipeline
CentOS Stream 10 - nginx-containerCentOS-Stream-10x86_64✅ passed15.04.2026 11:24:0215min 18stest pipeline
CentOS Stream 9 - s2i-base-containerCentOS-Stream-9x86_64✅ passed15.04.2026 11:24:3715min 18stest pipeline
CentOS Stream 10 - s2i-perl-containerCentOS-Stream-10x86_64✅ passed15.04.2026 11:24:0221min 53stest pipeline
CentOS Stream 10 - postgresql-containerCentOS-Stream-10x86_64✅ passed15.04.2026 11:24:0221min 12stest pipeline
RHEL10 - s2i-base-containerRHEL-10-Nightlyx86_64✅ passed15.04.2026 11:24:0121min 40stest pipeline
RHEL8 - nginx-containerRHEL-8.10.0-Nightlyx86_64✅ passed15.04.2026 11:24:0522min 10stest pipeline
Fedora - postgresql-containerFedora-latestx86_64✅ passed15.04.2026 11:24:0224min 32stest pipeline
RHEL10 - postgresql-containerRHEL-10-Nightlyx86_64✅ passed15.04.2026 11:24:0228min 33stest pipeline
CentOS Stream 9 - postgresql-containerCentOS-Stream-9x86_64✅ passed15.04.2026 11:24:0129min 28stest pipeline
RHEL10 - s2i-perl-containerRHEL-10-Nightlyx86_64✅ passed15.04.2026 11:24:0429min 49stest pipeline
Fedora - nginx-containerFedora-latestx86_64✅ passed15.04.2026 11:40:5212min 39stest pipeline
RHEL9 - s2i-perl-containerRHEL-9.6.0-Nightlyx86_64✅ passed15.04.2026 11:24:0334min 44stest pipeline
CentOS Stream 9 - s2i-perl-containerCentOS-Stream-9x86_64✅ passed15.04.2026 11:36:5322min 53stest pipeline
RHEL10 - nginx-containerRHEL-10-Nightlyx86_64✅ passed15.04.2026 11:40:1820min 22stest pipeline
Fedora - s2i-perl-containerFedora-latestx86_64✅ passed15.04.2026 11:24:0239min 3stest pipeline
CentOS Stream 10 - s2i-base-containerCentOS-Stream-10x86_64✅ passed15.04.2026 11:48:2614min 28stest pipeline
RHEL10 - s2i-python-containerRHEL-10-Nightlyx86_64❌ error15.04.2026 11:24:0141min 24stest pipeline
RHEL8 - s2i-base-containerRHEL-8.10.0-Nightlyx86_64✅ passed15.04.2026 11:46:3119min 39stest pipeline
CentOS Stream 9 - nginx-containerCentOS-Stream-9x86_64✅ passed15.04.2026 11:50:1718min 13stest pipeline
RHEL9 - postgresql-containerRHEL-9.6.0-Nightlyx86_64✅ passed15.04.2026 11:24:0449min 2stest pipeline
RHEL9 - s2i-base-containerRHEL-9.6.0-Nightlyx86_64✅ passed15.04.2026 11:46:2027min 50stest pipeline
RHEL9 - nginx-containerRHEL-9.6.0-Nightlyx86_64✅ passed15.04.2026 11:46:2533min 13stest pipeline
RHEL8 - s2i-perl-containerRHEL-8.10.0-Nightlyx86_64✅ passed15.04.2026 11:54:2826min 48stest pipeline
Fedora - s2i-python-containerFedora-latestx86_64✅ passed15.04.2026 11:24:031h 1min 40stest pipeline
CentOS Stream 10 - s2i-python-containerCentOS-Stream-10x86_64✅ passed15.04.2026 11:24:011h 9min 11stest pipeline
RHEL8 - postgresql-containerRHEL-8.10.0-Nightlyx86_64✅ passed15.04.2026 11:54:2040min 13stest pipeline
RHEL8 - s2i-python-containerRHEL-8.10.0-Nightlyx86_64✅ passed15.04.2026 11:24:031h 34min 13stest pipeline
CentOS Stream 9 - s2i-python-containerCentOS-Stream-9x86_64✅ passed15.04.2026 11:24:041h 51min 6stest pipeline
RHEL9 - s2i-python-containerRHEL-9.6.0-Nightlyx86_64❌ error15.04.2026 11:24:051h 52min 44stest pipeline

@phracek phracek merged commit 48bb449 into master Apr 16, 2026
33 of 35 checks passed
@phracek phracek deleted the enable_testing_c11s_rhel11_by_ga branch April 16, 2026 08:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants