$npx -y skills add redhat-developer/rhdh-skill --skill prowManage Prow CI job configurations for RHDH in the openshift/release repository. List, generate, add, and remove OCP test entries and cluster pools. List K8s platform test entries (AKS, EKS, GKE). Analyze OCP version coverage gaps. Commission new release branches and decommission
| 1 | # RHDH Prow CI Management |
| 2 | |
| 3 | Manage Prow CI job configurations for RHDH in the `openshift/release` repository. |
| 4 | |
| 5 | ## Prerequisites |
| 6 | |
| 7 | - Python 3.9+ |
| 8 | - For listing: works from any directory (auto-detects local checkout or uses GitHub API) |
| 9 | - For generating/modifying: requires a local `openshift/release` checkout |
| 10 | |
| 11 | ## Important: Branch Terminology |
| 12 | |
| 13 | **"Branch" refers to the RHDH product branch** encoded in the config filename (e.g., `main`, `release-1.8`), **NOT** a git branch in `openshift/release`. All CI config files live on the `main` git branch. |
| 14 | |
| 15 | ## Identify Task |
| 16 | |
| 17 | What CI management task do you need? |
| 18 | |
| 19 | | Query matches | Workflow | |
| 20 | |---|---| |
| 21 | | "OCP test", "OCP job", "e2e-ocp", "add OCP version", "new OCP test" | `workflows/ocp-jobs.md` | |
| 22 | | "cluster pool", "ClusterPool", "Hive pool" | `workflows/ocp-pools.md` | |
| 23 | | "coverage", "gap analysis", "what OCP versions are missing" | `workflows/ocp-coverage.md` | |
| 24 | | "AKS test", "EKS test", "GKE test", "K8s platform jobs" | `workflows/k8s-jobs.md` | |
| 25 | | "commission", "new release branch", "create release branch CI", "onboard release", "add release branch" | `workflows/commission-release.md` | |
| 26 | | "decommission", "EOL release", "remove release branch", "clean up old release" | `workflows/decommission-release.md` | |
| 27 | |
| 28 | After reading the workflow, follow it exactly. |
| 29 | |
| 30 | ## Available Scripts |
| 31 | |
| 32 | All listing scripts support `--repo-dir` to override the openshift/release location and work in both local and remote (GitHub API) modes. |
| 33 | |
| 34 | | Script | Purpose | |
| 35 | |--------|---------| |
| 36 | | `scripts/list_ocp_test_configs.py` | List OCP test entries per branch | |
| 37 | | `scripts/generate_test_entry.py` | Generate a new OCP test entry YAML block | |
| 38 | | `scripts/list_cluster_pools.py` | List RHDH Hive ClusterPool configurations | |
| 39 | | `scripts/generate_cluster_pool.py` | Generate a new ClusterPool YAML file | |
| 40 | | `scripts/analyze_coverage.py` | Cross-reference coverage against lifecycle data | |
| 41 | | `scripts/list_aks_jobs.py` | List AKS test entries | |
| 42 | | `scripts/list_eks_jobs.py` | List EKS test entries | |
| 43 | | `scripts/list_gke_jobs.py` | List GKE test entries | |
| 44 | |
| 45 | ## After Any Change |
| 46 | |
| 47 | Always run `make update` after modifying CI config files: |
| 48 | |
| 49 | ```bash |
| 50 | make update |
| 51 | ``` |
| 52 | |
| 53 | This regenerates Prow job configs in `ci-operator/jobs/` and `zz_generated_metadata` sections. |
| 54 | |
| 55 | ## Related Skills |
| 56 | |
| 57 | - **`lifecycle`**: Provides repo resolution, YAML I/O, and lifecycle data. |
| 58 | The `rhdh_prow` package delegates to `rhdh_lifecycle` for shared utilities. |