Skip to content

[OCPERT-394] Add 4.23 test job registry and enable in dashboard#1084

Open
jhuttana wants to merge 1 commit into
openshift:mainfrom
jhuttana:OCPERT-394_add_4.23_test_job_registry_and_enable_in_dashboard
Open

[OCPERT-394] Add 4.23 test job registry and enable in dashboard#1084
jhuttana wants to merge 1 commit into
openshift:mainfrom
jhuttana:OCPERT-394_add_4.23_test_job_registry_and_enable_in_dashboard

Conversation

@jhuttana

@jhuttana jhuttana commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

JIRA: https://redhat.atlassian.net/browse/OCPERT-394

Summary by CodeRabbit

  • New Features
    • Added OpenShift Container Platform 4.23 release support to the auto-release test dashboard. Users can now select version 4.23 from the minor release dropdown to view nightly and stable test job results, including upgrade-related test runs where applicable.

@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 375202fc-51f5-44f9-929d-41f00915c68b

📥 Commits

Reviewing files that changed from the base of the PR and between 59dfa2d and 7182946.

📒 Files selected for processing (2)
  • _releases/ocp-4.23-test-jobs-amd64.json
  • tools/auto_release_test_dashboard.py
✅ Files skipped from review due to trivial changes (1)
  • tools/auto_release_test_dashboard.py
🚧 Files skipped from review as they are similar to previous changes (1)
  • _releases/ocp-4.23-test-jobs-amd64.json

Walkthrough

A new _releases/ocp-4.23-test-jobs-amd64.json file is added with nightly and stable Prow job arrays, marking certain upgrade jobs with "upgrade": true. The Streamlit dashboard's minor release dropdown adds "4.23" to its tuple of supported releases.

Changes

OCP 4.23 Release Support

Layer / File(s) Summary
4.23 job config and dashboard registration
_releases/ocp-4.23-test-jobs-amd64.json, tools/auto_release_test_dashboard.py
New JSON config defines nightly and stable Prow job lists for OCP 4.23, with upgrade-flagged entries for stable-4.22→4.23 and nightly/stable source paths. The dashboard release selector adds "4.23" to the supported releases tuple.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main changes: adding a 4.23 test job registry and enabling it in the dashboard, which matches both file additions in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The PR contains no Ginkgo test definitions. It modifies only a JSON configuration file and a Python dashboard script. The check for stable Ginkgo test names is not applicable.
Test Structure And Quality ✅ Passed This PR does not modify any Ginkgo test code. Changes are limited to JSON configuration (_releases/ocp-4.23-test-jobs-amd64.json) and Python dashboard script (tools/auto_release_test_dashboard.py),...
Microshift Test Compatibility ✅ Passed PR adds test job configuration and dashboard UI updates only, with no Ginkgo e2e test definitions. MicroShift check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR adds Prow job configuration and updates a Python dashboard—no new Ginkgo e2e tests are present, making the SNO compatibility check not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed This PR adds test job configuration and dashboard tooling files, not deployment manifests or operator code. No scheduling constraints are introduced.
Ote Binary Stdout Contract ✅ Passed PR contains only JSON configuration and Python Streamlit dashboard changes; no OTE binaries or process-level code that could violate the stdout JSON contract.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests are present in this PR. Changes are a JSON test job configuration file and a Python dashboard UI modification, neither containing test code.
No-Weak-Crypto ✅ Passed No weak cryptography patterns detected. Changes consist of a JSON configuration file and a Python dashboard UI update adding "4.23" to a dropdown menu. No cryptographic code or operations are prese...
Container-Privileges ✅ Passed The PR contains a JSON test job configuration file and a Python Streamlit dashboard update. Neither file is a Kubernetes manifest or container configuration, so the container-privileges check is no...
No-Sensitive-Data-In-Logs ✅ Passed The Python file logs only a generic "ENV VAR NOT FOUND" message and never exposes the GITHUB_TOKEN value. The JSON file contains only public job names with no sensitive data.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@jhuttana

Copy link
Copy Markdown
Contributor Author

This PR depends upon : openshift/release#80572

@openshift-ci openshift-ci Bot requested review from LuboTerifaj and barboras7 June 17, 2026 07:13
@openshift-ci

openshift-ci Bot commented Jun 17, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign tomasdavidorg for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@_releases/ocp-4.23-test-jobs-amd64.json`:
- Around line 1-38: The PR title indicates this adds 4.22 configuration but the
actual changes in the file and all prowJob definitions reference 4.23 (as seen
in job names like
"periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-aws-ipi-f999"
and other 4.23 references throughout the nightly and stable sections). Update
the PR title to accurately reflect that this adds 4.23 test job configuration,
not 4.22, to align with the actual changes being made.
- Around line 1-38: Update the Jira notificator to include version 4.23.z in its
supported versions list. Locate the hardcoded JQL query string in
oar/notificator/jira_notificator.py (around line 741) that contains the 'Target
Version' condition with versions 4.12.z through 4.22.z, and add 4.23.z to the
end of this comma-separated list to enable Jira notifications for the new
release version.

In `@tools/auto_release_test_dashboard.py`:
- Line 123: The PR title incorrectly states that version 4.22 is being added to
the dashboard, but the actual code change in the version tuple (containing
versions like 4.12 through 4.23) shows that version 4.23 is being added instead.
Update the PR title to accurately reflect that 4.23 is the version being added
to the auto_release_test_dashboard.py selector, ensuring consistency with the
actual code changes and the job registry file.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 94235485-b2a8-45c3-baa9-d16ce7fca555

📥 Commits

Reviewing files that changed from the base of the PR and between 67d4f1b and 59dfa2d.

📒 Files selected for processing (2)
  • _releases/ocp-4.23-test-jobs-amd64.json
  • tools/auto_release_test_dashboard.py

Comment on lines +1 to +38
{
"nightly": [
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-aws-ipi-f999"
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-azure-ipi-fips-f999"
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-gcp-ipi-f999"
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-aws-ipi-disruptive-f999"
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-stable-4.23-upgrade-from-stable-4.22-gcp-ipi-f999",
"upgrade": true
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-nightly-4.23-upgrade-from-stable-4.23-aws-ipi-f999",
"upgrade": true
}
],
"stable": [
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-stable-4.23-upgrade-from-stable-4.22-aws-ipi-f999",
"upgrade": true
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-stable-4.23-upgrade-from-stable-4.23-azure-ipi-fips-f999",
"upgrade": true
},
{
"prowJob": "periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-stable-4.23-upgrade-from-stable-4.23-gcp-ipi-f999",
"upgrade": true
}
]
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Critical: PR title mentions 4.22, but this file adds 4.23 configuration.

The PR title states "Add 4.22 test job" but the filename is ocp-4.23-test-jobs-amd64.json and all job definitions reference version 4.23. This discrepancy between the PR title and the actual changes could cause significant confusion during code review and release tracking.

Please update the PR title to accurately reflect that this adds 4.23 configuration, not 4.22.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@_releases/ocp-4.23-test-jobs-amd64.json` around lines 1 - 38, The PR title
indicates this adds 4.22 configuration but the actual changes in the file and
all prowJob definitions reference 4.23 (as seen in job names like
"periodic-ci-openshift-openshift-tests-private-release-4.23-automated-release-aws-ipi-f999"
and other 4.23 references throughout the nightly and stable sections). Update
the PR title to accurately reflect that this adds 4.23 test job configuration,
not 4.22, to align with the actual changes being made.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Check if other 4.23 version support updates exist in the repository

echo "=== Checking Jira notificator for 4.23 references ==="
rg -n "4\.23|4.23" oar/notificator/jira_notificator.py || echo "No 4.23 references found in Jira notificator"

echo -e "\n=== Checking ConfigStore for 4.23 references ==="
rg -n "4\.23|4.23" oar/core/configstore.py config_store.json 2>/dev/null || echo "No 4.23 references found in ConfigStore"

echo -e "\n=== Checking for 4.23 stage-testing pipeline configs ==="
fd -e yaml -e yml . --exec sh -c 'if rg -q "4\.23.*stage" {}; then echo "Found in: {}" && rg -n "4\.23.*stage" {}; fi'

Repository: openshift/release-tests

Length of output: 314


🏁 Script executed:

#!/bin/bash
# Check how existing versions are referenced in Jira notificator

echo "=== Finding version references in Jira notificator ==="
rg -n "4\.(1[0-9]|2[0-3])" oar/notificator/jira_notificator.py | head -20

echo -e "\n=== Checking if Jira queries are dynamic or version-specific ==="
rg -B5 -A5 "supported.*version|version.*support|OCPBUGS" oar/notificator/jira_notificator.py | head -40

echo -e "\n=== Looking for 4.22 and 4.21 in test report templates ==="
rg -l "4\.22|4\.21" . --type yaml --type json 2>/dev/null | grep -E "(template|report|worksheet)" || echo "No version-specific templates found"

echo -e "\n=== Checking ConfigStore for how versions are registered ==="
head -100 oar/core/configstore.py | grep -A30 "class ConfigStore"

echo -e "\n=== Looking for Jenkins ci-profile definitions for stage-testing ==="
fd -type f -name "*.py" . --exec grep -l "stage.*ci.*profile\|ci.*profile.*stage" {} \; 2>/dev/null | head -5

Repository: openshift/release-tests

Length of output: 2090


🏁 Script executed:

#!/bin/bash
# More targeted search for missing version support items

echo "=== Searching for test report templates and version configuration ==="
fd -type f \( -name "*template*" -o -name "*worksheet*" \) . --exec grep -l "4\.(1[0-9]|2[0-3])" {} \; 2>/dev/null | head -10

echo -e "\n=== Looking for stage-testing Jenkins job definition ==="
rg -n "stage.*testing\|stage.*pipeline\|stage-testing" oar/core/jenkins.py -A 5

echo -e "\n=== Checking Prow config for image-consistency-check version handling ==="
fd -type f -name "*.py" . --exec grep -l "image.*consistency.*check\|image-consistency" {} \; 2>/dev/null | xargs grep -l "4\.2" 2>/dev/null | head -3

echo -e "\n=== Searching for ConfigStore entries that reference specific versions ==="
rg -n "4\.22|4\.21|4\.20" oar/core/configstore.py

echo -e "\n=== Looking for config_store.json structure for version-specific mappings ==="
cat config_store.json 2>/dev/null | head -50

Repository: openshift/release-tests

Length of output: 425


🏁 Script executed:

#!/bin/bash
# Check more carefully for what needs to be updated

echo "=== Exact check: Is 4.23.z in Jira notificator's supported versions? ==="
rg "4\.23\.z|4.23.z" oar/notificator/jira_notificator.py && echo "FOUND: 4.23.z is included" || echo "NOT FOUND: 4.23.z is missing"

echo -e "\n=== Show the exact line from Jira notificator ==="
rg -n "Target Version" oar/notificator/jira_notificator.py

echo -e "\n=== Check if there are test report template files in the repo ==="
find . -type f -name "*template*" -o -name "*test*report*" 2>/dev/null | grep -v ".git" | head -20

echo -e "\n=== List all files matching job registry pattern ==="
find . -name "*test-jobs*" -type f 2>/dev/null

echo -e "\n=== Check how job registry files are discovered/used in code ==="
rg -n "test-jobs.*\.json\|test-jobs" oar/ prow/ --type py | head -20

Repository: openshift/release-tests

Length of output: 1221


🏁 Script executed:

#!/bin/bash
# Check if version support is static or dynamic

echo "=== Verify if 4.23.z needs to be added to Jira notificator ==="
cat oar/notificator/jira_notificator.py | sed -n '735,750p'

echo -e "\n=== Check create_test_report.py to see if it handles versions dynamically ==="
cat oar/cli/cmd_create_test_report.py | head -100

echo -e "\n=== Look for any documentation about version support ==="
rg -l "4\.23|Version.*Support\|when adding.*version" . --type md 2>/dev/null

echo -e "\n=== Check AGENTS.md for version support statements ==="
rg -B2 -A2 "4\.23|when adding support" AGENTS.md 2>/dev/null || echo "Not found"

echo -e "\n=== Check if version is dynamically validated anywhere ==="
rg -n "validate.*version|supported.*version" oar/core/util.py

Repository: openshift/release-tests

Length of output: 4269


🏁 Script executed:

#!/bin/bash
# Final verification of remaining items

echo "=== Item 3: Check test report templates - are they version-specific? ==="
rg -n "worksheet\|WorksheetManager\|template" oar/cli/cmd_create_test_report.py | head -15

echo -e "\n=== Item 4: Jenkins stage-testing job parameters ==="
rg -n "stage_job\|call_stage_job\|ci.profile" oar/core/jenkins.py -A 5 | head -30

echo -e "\n=== Item 5: Prow image-consistency-check configuration ==="
fd -type f -name "*.py" prow/ . --exec grep -l "image.*consistency" {} \; 2>/dev/null | head -3

echo -e "\n=== Item 6: ConfigStore version registration ==="
rg -n "4\.22|4\.21|release.*version\|version.*config" oar/core/configstore.py | grep -E "4\.|version" | head -20

echo -e "\n=== Check if ConfigStore loads version-specific data ==="
rg -B3 -A3 "def __init__" oar/core/configstore.py | head -30

echo -e "\n=== Grep for any hardcoded version lists in the codebase ==="
rg -n "4\.12.*4\.13.*4\.14|supported.*version.*4\." oar/ --type py

Repository: openshift/release-tests

Length of output: 867


Add 4.23.z to Jira notificator's supported versions list

While the job registry configuration for 4.23 is included, the Jira notificator hardcodes a list of supported versions at oar/notificator/jira_notificator.py:741 that currently includes versions 4.12.z through 4.22.z. The version 4.23.z must be added to this list:

"AND status = ON_QA AND 'Target Version' in (4.12.z, 4.13.z, 4.14.z, 4.15.z, 4.16.z, 4.17.z, 4.18.z, 4.19.z, 4.20.z, 4.21.z, 4.22.z, 4.23.z)"

The other items from the coding guidelines (test report templates, Jenkins ci-profiles, Prow image-consistency-check, ConfigStore) appear to use dynamic version handling and do not require explicit updates for each new version.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@_releases/ocp-4.23-test-jobs-amd64.json` around lines 1 - 38, Update the Jira
notificator to include version 4.23.z in its supported versions list. Locate the
hardcoded JQL query string in oar/notificator/jira_notificator.py (around line
741) that contains the 'Target Version' condition with versions 4.12.z through
4.22.z, and add 4.23.z to the end of this comma-separated list to enable Jira
notifications for the new release version.

Source: Coding guidelines

release = st.selectbox(
'Choose minor release',
("4.12", "4.13", "4.14", "4.15", "4.16", "4.17", "4.18", "4.19", "4.20", "4.21", "4.22", "5.0")
("4.12", "4.13", "4.14", "4.15", "4.16", "4.17", "4.18", "4.19", "4.20", "4.21", "4.22", "4.23", "5.0")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

PR title mentions 4.22, but this adds 4.23 to the dashboard.

Consistent with the job registry file, this line adds support for release "4.23" to the dashboard selector, not "4.22" as stated in the PR title. The PR title should be corrected to match the actual version being added.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tools/auto_release_test_dashboard.py` at line 123, The PR title incorrectly
states that version 4.22 is being added to the dashboard, but the actual code
change in the version tuple (containing versions like 4.12 through 4.23) shows
that version 4.23 is being added instead. Update the PR title to accurately
reflect that 4.23 is the version being added to the
auto_release_test_dashboard.py selector, ensuring consistency with the actual
code changes and the job registry file.

@jhuttana jhuttana force-pushed the OCPERT-394_add_4.23_test_job_registry_and_enable_in_dashboard branch from 59dfa2d to 7182946 Compare June 17, 2026 07:45
@jhuttana jhuttana changed the title [OCPERT-394] Add 4.22 test job registry and enable in dashboard [OCPERT-394] Add 4.23 test job registry and enable in dashboard Jun 17, 2026
@openshift-ci

openshift-ci Bot commented Jun 17, 2026

Copy link
Copy Markdown

@jhuttana: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

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.

1 participant