mcpField
R
rhdh-prow-jobs

rhdh-prow-jobs

github.com/redhat-developerTesting & quality1943 installsUpdated 1d ago
Repository

About rhdh-prow-jobs

rhdh-prow-jobs is a skill for inspecting and changing RHDH Prow test entries and cluster pools in openshift/release. It supports coverage analysis and configuration updates for existing release branches, with workflows for OCP, AKS, EKS, and GKE.

Key features

  1. 01List and manage OCP test entries
  2. 02Manage Hive ClusterPools
  3. 03Analyze OCP coverage gaps
  4. 04List AKS, EKS, and GKE entries
  5. 05Update Kubernetes versions

Use cases

  1. 01Review configured platform test entries
  2. 02Add or remove an OCP test entry
  3. 03Find OCP coverage gaps
  4. 04Change a Kubernetes version for a cloud entry

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/redhat-developer/rhdh-skills --skill rhdh-prow-jobs

After installing, type/rhdh-prow-jobsin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

agents/
openai.yaml
scripts/
analyze_coverage.py
generate_cluster_pool.py
generate_test_entry.py
list_aks_jobs.py
list_cluster_pools.py
list_eks_jobs.py
list_gke_jobs.py
list_ocp_test_configs.py
scripts/rhdh_prow/
__init__.py
k8s_configs.py
openshift_release.py
versions.py
workflows/
k8s-jobs.md
ocp-coverage.md
ocp-jobs.md
ocp-pools.md

Details

From the project README

RHDH Prow test entries and cluster pools

Read and change which platform versions RHDH is tested on in openshift/release. Listing and coverage analysis work against the remote repository through gh; generation and removal need a local checkout because they end in make update.

Run the bundled scripts instead of reconstructing their YAML logic. Every script accepts --repo-dir to point at a local openshift/release checkout and falls back to the GitHub API when it is absent.

Route

IntentLoad
List OCP test entries, or add/remove oneworkflows/ocp-jobs.md
List, generate, or delete a Hive ClusterPoolworkflows/ocp-pools.md
Find OCP coverage gaps and stale configurationworkflows/ocp-coverage.md
List AKS, EKS, or GKE entries, or bump their K8s versionworkflows/k8s-jobs.md

Load only the selected workflow.

Scope

This skill owns individual test entries and cluster pools on branches that already exist. Creating or retiring the whole set of jobs for a release branch — the branch config file, its generated jobs, and its branch-protection block — is /rhdh-prow-release-branch. Running a configured job on demand is /rhdh-prow-trigger.

Composition

For whether a platform version is still supported, invoke /rhdh-platform-lifecycle by name and use what it returns. Do not import its Python package or read its files. scripts/analyze_coverage.py queries the lifecycle APIs directly so the scripts stay standalone.

Reading rules

  • Report only versions that came from the read, never from recall. Say which config source was read and when.
  • Extract OCP versions from cluster_claim.version, not from test names — some OCP-targeted tests do not encode the version in their name.
  • A version that is configured is not the same as a version that is supported. Without lifecycle facts, name the platforms that remain unclassified rather than presenting configured versions as supported.

Writing rules

Generating a file, editing a config, running make update, committing, pushing, or opening a pull request is a write. Follow /mutation-gate, naming the config file or job file as the target of each operation.

  • Use --dry-run on generate_cluster_pool.py to preview before writing.
  • generate_test_entry.py prints a block for review; inserting it is a separate approved edit.
  • Run make update after any config change, and commit the config and the generated job files together.
  • Removing an OCP version means both its test entries on every product branch and its cluster pool. Check for the other half before declaring the removal finished.

Completion

A read is complete when the answer names the config source it was read from, every entry, pool, or gap in it came from that read, and anything the scan could not reach is named as unread instead of reported as absent.

A write is complete when every approved file edit has been applied and reported, make update has run, the regenerated job files under ci-operator/jobs/redhat-developer/rhdh/ are named alongside the config change, and the push and pull-request state is stated explicitly — including "not pushed" when nothing was pushed. A removal is complete only once both the test entries and the cluster pool for that version are accounted for.

Comments

Markdown supported