openshift/rhdh-ocp-tests
>- List, generate, add, and remove OCP-versioned test entries (e2e-ocp-*) in RHDH ci-operator config files. Covers only OCP cluster-claim tests, not K8s platform tests (AKS, EKS, GKE, OSD)
npx skills add https://github.com/openshift/release --skill rhdh-ocp-tests
Manage OCP-specific test entries in RHDH ci-operator configuration files. This skill covers tests that use OCP cluster claims (cluster_claim.version), not K8s platform tests (AKS, EKS, GKE, OSD-GCP) which use different provisioning workflows.
Use this skill when you need to:
yq (v4+) must be available for YAML parsingopenshift/release repositoryCLAUDE_SKILL_DIR is set automatically by the Claude Code skill loader. For manual invocation, set it to this skill's directory (e.g., CLAUDE_SKILL_DIR=ci-operator/config/redhat-developer/rhdh/.claude/skills/rhdh-ocp-tests)"Branch" refers to the RHDH product branch encoded in the config filename (e.g., main, release-1.8, release-1.9), NOT a git branch in the openshift/release repo. All CI config files live on the main git branch of openshift/release.
| Config filename | Product branch | Git branch |
|----------------|----------------|------------|
| redhat-developer-rhdh-main.yaml | main | main |
| redhat-developer-rhdh-release-1.9.yaml | release-1.9 | main |
| redhat-developer-rhdh-release-1.8.yaml | release-1.8 | main |
Run the bundled script from the repository root:
bash "${CLAUDE_SKILL_DIR}/scripts/list-ocp-test-configs.sh"
bash "${CLAUDE_SKILL_DIR}/scripts/list-ocp-test-configs.sh" --branch main
The script extracts OCP versions from cluster_claim.version in each test entry (the source of truth), not from test names. This catches all OCP-targeted tests, including ones that don't encode the version in their name (e.g., e2e-ocp-helm-nightly targets 4.18).
=== Branch: main ===
TEST_NAME OCP_VERSION CRON OPTIONAL
e2e-ocp-helm 4.18 N/A false
e2e-ocp-helm-nightly 4.18 0 4 * * * true
e2e-ocp-v4-19-helm-nightly 4.19 0 5 * * TUE,THU,SAT,SUN true
e2e-ocp-v4-20-helm-nightly 4.20 0 5 * * TUE,THU,SAT,SUN true
e2e-ocp-v4-21-helm-nightly 4.21 0 2 * * TUE,THU,SAT,SUN true
e2e-ocp-operator-nightly 4.18 0 5 * * TUE,THU,SAT,SUN true
OCP versions tested: 4.18 4.19 4.20 4.21
Use the bundled script to generate a new test entry YAML block:
bash "${CLAUDE_SKILL_DIR}/scripts/generate-test-entry.sh" --version 4.22 --branch main
bash "${CLAUDE_SKILL_DIR}/scripts/generate-test-entry.sh" --version 4.22 --branch main --reference 4.21
The script outputs a ready-to-insert YAML block based on an existing versioned test entry with all version-specific values substituted.
After generating and reviewing the test entry:
ci-operator/config/redhat-developer/rhdh/redhat-developer-rhdh-main.yaml)tests: list, before zz_generated_metadata:e2e-ocp-v*-helm-nightly entries for readabilitymake update to regenerate Prow job configsci-operator/jobs/redhat-developer/rhdh/When creating a test entry for OCP version X.Y:
| Field | Value |
|-------|-------|
| as | e2e-ocp-vX-Y-helm-nightly |
| cluster_claim.version | "X.Y" |
| steps.env.OC_CLIENT_VERSION | stable-X.Y |
All other fields (cron schedule, owner, cloud, architecture, steps, workflow) remain the same as the reference entry.
To remove an OCP version test entry:
as: e2e-ocp-vX-Y-helm-nightlymake update to regenerate Prow job configsci-operator/jobs/redhat-developer/rhdh/IMPORTANT: When removing an OCP version, check all product branch configs (main, release-1.9, release-1.8, etc.) for entries that need removal.
Always run make update after modifying CI config files:
make update
This regenerates:
ci-operator/jobs/zz_generated_metadata sectionsCI config files live in:
ci-operator/config/redhat-developer/rhdh/
├── CLAUDE.md # Release branch checklist
├── OWNERS # Approvers/reviewers
├── redhat-developer-rhdh-main.yaml # Main branch config
├── redhat-developer-rhdh-release-1.8.yaml # Release 1.8 config
└── redhat-developer-rhdh-release-1.9.yaml # Release 1.9 config
Generated Prow jobs go to:
ci-operator/jobs/redhat-developer/rhdh/
├── redhat-developer-rhdh-main-presubmits.yaml
├── redhat-developer-rhdh-main-periodics.yaml
├── redhat-developer-rhdh-release-1.8-presubmits.yaml
├── redhat-developer-rhdh-release-1.8-periodics.yaml
├── redhat-developer-rhdh-release-1.9-presubmits.yaml
└── redhat-developer-rhdh-release-1.9-periodics.yaml
Take openshift/rhdh-ocp-tests from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.