Skip to content

Commit 8784234

Browse files
committed
docs: update SKILL.md files to reference Python scripts
Replace bash invocations with python/uv run for the new .py scripts. Update Prerequisites from yq/jq/curl to Python 3.9+. Assisted-by: OpenCode
1 parent be3431a commit 8784234

10 files changed

Lines changed: 54 additions & 38 deletions

File tree

skills/lifecycle-aks/SKILL.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,23 @@ description: >-
1818

1919
## Prerequisites
2020

21-
- `curl`, `jq`, `yq` (v4+), internet connectivity
21+
- Python 3.9+, internet connectivity
2222
- For configured version display: local `openshift/release` checkout or `gh` CLI
2323

2424
## Steps
2525

2626
1. Run the lifecycle check script:
2727

2828
```bash
29-
bash "${SKILL_DIR}/scripts/check-aks-lifecycle.sh" \
29+
uv run "${SKILL_DIR}/scripts/check_aks_lifecycle.py" \
3030
--mapt-ref ci-operator/step-registry/redhat-developer/rhdh/aks/mapt/create/redhat-developer-rhdh-aks-mapt-create-ref.yaml \
3131
--test-pattern "^e2e-aks-"
3232
```
3333

3434
The script auto-detects whether you're in an `openshift/release` checkout or uses the GitHub API for remote access. Override with `--repo-dir <path>`.
3535

3636
The script queries two sources:
37+
3738
- **Primary**: `https://releases.aks.azure.com/parsed_data.json` -- official AKS release status with per-region K8s version availability (major.minor only)
3839
- **Cross-verify**: `https://endoflife.date/api/azure-kubernetes-service.json` -- community-maintained EOL dates
3940

skills/lifecycle-eks/SKILL.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,23 @@ description: >-
1919

2020
## Prerequisites
2121

22-
- `curl`, `jq`, `yq` (v4+), `awk`, internet connectivity
22+
- Python 3.9+, internet connectivity
2323
- For configured version display: local `openshift/release` checkout or `gh` CLI
2424

2525
## Steps
2626

2727
1. Run the lifecycle check script:
2828

2929
```bash
30-
bash "${SKILL_DIR}/scripts/check-eks-lifecycle.sh" \
30+
uv run "${SKILL_DIR}/scripts/check_eks_lifecycle.py" \
3131
--mapt-ref ci-operator/step-registry/redhat-developer/rhdh/eks/mapt/create/redhat-developer-rhdh-eks-mapt-create-ref.yaml \
3232
--test-pattern "^e2e-eks-"
3333
```
3434

3535
The script auto-detects whether you're in an `openshift/release` checkout or uses the GitHub API for remote access. Override with `--repo-dir <path>`.
3636

3737
The script queries two sources:
38+
3839
- **Primary**: `awsdocs/amazon-eks-user-guide` raw AsciiDoc on GitHub -- official AWS EKS docs source with standard/extended support status and release calendar
3940
- **Cross-verify**: `https://endoflife.date/api/amazon-eks.json` -- community-maintained EOL dates
4041

skills/lifecycle-gke/SKILL.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,18 @@ GKE uses a pre-existing long-running cluster. The K8s version is NOT in CI confi
1919

2020
## Prerequisites
2121

22-
- `curl`, `jq`, internet connectivity
22+
- Python 3.9+, internet connectivity
2323

2424
## Steps
2525

2626
1. Run the lifecycle check script:
2727

2828
```bash
29-
bash "${SKILL_DIR}/scripts/check-gke-lifecycle.sh"
29+
python "${SKILL_DIR}/scripts/check_gke_lifecycle.py"
3030
```
3131

3232
The script queries:
33+
3334
- **Primary**: `https://endoflife.date/api/google-kubernetes-engine.json` -- auto-scraped from Google's GKE release schedule page, shows standard/maintenance support status and EOL dates
3435

3536
2. If the API call fails, fall back to the vendor docs:

skills/lifecycle-ocp/SKILL.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,47 +8,49 @@ description: >-
88
# Check RHDH and OCP Lifecycle Status
99

1010
Query the Red Hat Product Life Cycles API to determine:
11+
1112
- Which RHDH releases are currently supported (Full Support or Maintenance)
1213
- Which OCP versions each active RHDH release supports
1314
- Which OCP versions are still supported upstream (including EUS phases)
1415

1516
## When to Use
1617

1718
Use this skill when you need to check version support status before:
19+
1820
- Adding or removing RHDH cluster pools
1921
- Adding or removing OCP-versioned CI test entries
2022
- Planning RHDH release branch OCP coverage
2123
- Running the `prow-ocp-coverage` analysis skill
2224

2325
## Prerequisites
2426

25-
- `curl` and `jq` must be available
27+
- Python 3.9+
2628
- Internet connectivity to reach `https://access.redhat.com`
2729

2830
## Usage
2931

3032
Run the bundled script:
3133

3234
```bash
33-
bash "${SKILL_DIR}/scripts/check-ocp-lifecycle.sh"
35+
python "${SKILL_DIR}/scripts/check_ocp_lifecycle.py"
3436
```
3537

3638
### Check a specific OCP version
3739

3840
```bash
39-
bash "${SKILL_DIR}/scripts/check-ocp-lifecycle.sh" --version 4.16
41+
python "${SKILL_DIR}/scripts/check_ocp_lifecycle.py" --version 4.16
4042
```
4143

4244
### Check a specific RHDH version
4345

4446
```bash
45-
bash "${SKILL_DIR}/scripts/check-ocp-lifecycle.sh" --rhdh-version 1.9
47+
python "${SKILL_DIR}/scripts/check_ocp_lifecycle.py" --rhdh-version 1.9
4648
```
4749

4850
### Show only RHDH lifecycle (skip OCP table)
4951

5052
```bash
51-
bash "${SKILL_DIR}/scripts/check-ocp-lifecycle.sh" --rhdh-only
53+
python "${SKILL_DIR}/scripts/check_ocp_lifecycle.py" --rhdh-only
5254
```
5355

5456
## Output
@@ -68,6 +70,7 @@ Shows each RHDH release with:
6870
| SUPPORTED_OCP_VERSIONS | OCP versions this RHDH release officially supports |
6971

7072
After the table, a summary shows:
73+
7174
- The union of OCP versions supported across all active RHDH releases
7275
- Per-release OCP support breakdown
7376

@@ -89,6 +92,7 @@ The **RHDH_SUPP** column is the key indicator for CI coverage decisions. An OCP
8992
### JSON Summary (stderr)
9093

9194
A JSON object is written to stderr with:
95+
9296
- `rhdh_supported_versions`: Array of active RHDH releases with their OCP compatibility
9397
- `ocp_versions_supported_by_rhdh`: Deduplicated array of OCP versions supported by any active RHDH release
9498

skills/prow-aks-jobs/SKILL.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,26 @@ List AKS test entries and update the K8s version used by AKS MAPT clusters.
1919

2020
## Prerequisites
2121

22-
- `yq` (v4+) for listing tests
22+
- Python 3.9+
2323
- Works from any directory (auto-detects local checkout or uses GitHub API)
2424
- For updating versions: requires a local `openshift/release` checkout
2525

2626
## Listing Tests
2727

2828
```bash
29-
bash "${SKILL_DIR}/scripts/list-aks-jobs.sh"
29+
uv run "${SKILL_DIR}/scripts/list_aks_jobs.py"
3030
```
3131

3232
### Filter by branch
3333

3434
```bash
35-
bash "${SKILL_DIR}/scripts/list-aks-jobs.sh" --branch main
35+
uv run "${SKILL_DIR}/scripts/list_aks_jobs.py" --branch main
3636
```
3737

3838
### Override repo location
3939

4040
```bash
41-
bash "${SKILL_DIR}/scripts/list-aks-jobs.sh" --repo-dir /path/to/openshift/release
41+
uv run "${SKILL_DIR}/scripts/list_aks_jobs.py" --repo-dir /path/to/openshift/release
4242
```
4343

4444
## Updating the Version (requires local checkout)

skills/prow-eks-jobs/SKILL.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,26 +19,26 @@ List EKS test entries and update the K8s version used by EKS MAPT clusters.
1919

2020
## Prerequisites
2121

22-
- `yq` (v4+) for listing tests
22+
- Python 3.9+
2323
- Works from any directory (auto-detects local checkout or uses GitHub API)
2424
- For updating versions: requires a local `openshift/release` checkout
2525

2626
## Listing Tests
2727

2828
```bash
29-
bash "${SKILL_DIR}/scripts/list-eks-jobs.sh"
29+
uv run "${SKILL_DIR}/scripts/list_eks_jobs.py"
3030
```
3131

3232
### Filter by branch
3333

3434
```bash
35-
bash "${SKILL_DIR}/scripts/list-eks-jobs.sh" --branch main
35+
uv run "${SKILL_DIR}/scripts/list_eks_jobs.py" --branch main
3636
```
3737

3838
### Override repo location
3939

4040
```bash
41-
bash "${SKILL_DIR}/scripts/list-eks-jobs.sh" --repo-dir /path/to/openshift/release
41+
uv run "${SKILL_DIR}/scripts/list_eks_jobs.py" --repo-dir /path/to/openshift/release
4242
```
4343

4444
## Updating the Version (requires local checkout)

skills/prow-gke-jobs/SKILL.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,25 @@ a pre-existing static cluster. Version upgrades are performed via the GCP Consol
2020

2121
## Prerequisites
2222

23-
- `yq` (v4+) for listing tests
23+
- Python 3.9+
2424
- Works from any directory (auto-detects local checkout or uses GitHub API)
2525

2626
## Listing Tests
2727

2828
```bash
29-
bash "${SKILL_DIR}/scripts/list-gke-jobs.sh"
29+
uv run "${SKILL_DIR}/scripts/list_gke_jobs.py"
3030
```
3131

3232
### Filter by branch
3333

3434
```bash
35-
bash "${SKILL_DIR}/scripts/list-gke-jobs.sh" --branch main
35+
uv run "${SKILL_DIR}/scripts/list_gke_jobs.py" --branch main
3636
```
3737

3838
### Override repo location
3939

4040
```bash
41-
bash "${SKILL_DIR}/scripts/list-gke-jobs.sh" --repo-dir /path/to/openshift/release
41+
uv run "${SKILL_DIR}/scripts/list_gke_jobs.py" --repo-dir /path/to/openshift/release
4242
```
4343

4444
## Cluster Version Management

skills/prow-ocp-coverage/SKILL.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,22 @@ Cross-reference RHDH cluster pools, CI test configurations, RHDH lifecycle data,
1212
## When to Use
1313

1414
Use this skill when you need to:
15+
1516
- Check if RHDH CI coverage matches the current RHDH-supported OCP versions
1617
- Find OCP versions that RHDH no longer supports but still have active pools or test entries
1718
- Find RHDH-supported OCP versions missing cluster pools or test entries
1819
- Plan OCP version additions or removals for a new RHDH release
1920

2021
## Prerequisites
2122

22-
- `curl`, `jq`, and `yq` (v4+) must be available
23+
- Python 3.9+
2324
- Internet connectivity to reach `https://access.redhat.com`
2425
- Works from any directory (auto-detects local `openshift/release` checkout or uses GitHub API)
2526

2627
## Composed Skills
2728

2829
This skill composes data from:
30+
2931
- **`lifecycle-ocp`**: RHDH and OCP version lifecycle data (via shared `ocp-lifecycle.jq`)
3032
- **`prow-ocp-pools`**: Cluster pool configurations
3133
- **`prow-ocp-jobs`**: CI test entry configurations
@@ -35,13 +37,13 @@ This skill composes data from:
3537
Run the bundled analysis script:
3638

3739
```bash
38-
bash "${SKILL_DIR}/scripts/analyze-coverage.sh"
40+
uv run "${SKILL_DIR}/scripts/analyze_coverage.py"
3941
```
4042

4143
### Override repo location
4244

4345
```bash
44-
bash "${SKILL_DIR}/scripts/analyze-coverage.sh" --repo-dir /path/to/openshift/release
46+
uv run "${SKILL_DIR}/scripts/analyze_coverage.py" --repo-dir /path/to/openshift/release
4547
```
4648

4749
## Two Dimensions of Support
@@ -54,6 +56,7 @@ The analysis checks two independent dimensions for each OCP version:
5456
| **RHDH supported** | RHDH lifecycle API (`openshift_compatibility` field) | RHDH officially supports running on this OCP version |
5557

5658
An OCP version must satisfy **both** to warrant a cluster pool and test entry:
59+
5760
- An OCP-EOL version should always be removed (regardless of RHDH compatibility)
5861
- An OCP-supported but non-RHDH-supported version should be reviewed
5962

skills/prow-ocp-jobs/SKILL.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,15 @@ Manage OCP-specific test entries in RHDH ci-operator configuration files. This s
1212
## When to Use
1313

1414
Use this skill when you need to:
15+
1516
- List which OCP versions have helm-nightly test entries per RHDH release branch
1617
- Add a new OCP version test entry to a config file
1718
- Remove an end-of-life OCP version test entry from a config file
1819
- Generate a test entry YAML block for review before adding it
1920

2021
## Prerequisites
2122

22-
- `yq` (v4+) must be available for YAML parsing
23+
- Python 3.9+
2324
- For listing: works from any directory (auto-detects local checkout or uses GitHub API)
2425
- For generating/adding/removing: requires a local `openshift/release` checkout
2526

@@ -38,19 +39,19 @@ Use this skill when you need to:
3839
Run the bundled script (works from any directory):
3940

4041
```bash
41-
bash "${SKILL_DIR}/scripts/list-ocp-test-configs.sh"
42+
uv run "${SKILL_DIR}/scripts/list_ocp_test_configs.py"
4243
```
4344

4445
### Filter by product branch
4546

4647
```bash
47-
bash "${SKILL_DIR}/scripts/list-ocp-test-configs.sh" --branch main
48+
uv run "${SKILL_DIR}/scripts/list_ocp_test_configs.py" --branch main
4849
```
4950

5051
### Override repo location
5152

5253
```bash
53-
bash "${SKILL_DIR}/scripts/list-ocp-test-configs.sh" --repo-dir /path/to/openshift/release
54+
uv run "${SKILL_DIR}/scripts/list_ocp_test_configs.py" --repo-dir /path/to/openshift/release
5455
```
5556

5657
### Output format
@@ -72,13 +73,13 @@ e2e-ocp-v4-19-helm-nightly 4.19 0 5 * * TUE,THU,SAT
7273
Use the bundled script to generate a new test entry YAML block:
7374

7475
```bash
75-
bash "${SKILL_DIR}/scripts/generate-test-entry.sh" --version 4.22 --branch main
76+
uv run "${SKILL_DIR}/scripts/generate_test_entry.py" --version 4.22 --branch main
7677
```
7778

7879
### With a specific reference version
7980

8081
```bash
81-
bash "${SKILL_DIR}/scripts/generate-test-entry.sh" --version 4.22 --branch main --reference 4.21
82+
uv run "${SKILL_DIR}/scripts/generate_test_entry.py" --version 4.22 --branch main --reference 4.21
8283
```
8384

8485
The script outputs a ready-to-insert YAML block based on an existing versioned test entry with all version-specific values substituted.
@@ -123,13 +124,15 @@ make update
123124
```
124125

125126
This regenerates:
127+
126128
- Prow job configs in `ci-operator/jobs/`
127129
- `zz_generated_metadata` sections
128130
- Other downstream artifacts
129131

130132
## File Layout
131133

132134
CI config files live in:
135+
133136
```
134137
ci-operator/config/redhat-developer/rhdh/
135138
├── redhat-developer-rhdh-main.yaml
@@ -138,6 +141,7 @@ ci-operator/config/redhat-developer/rhdh/
138141
```
139142

140143
Generated Prow jobs go to:
144+
141145
```
142146
ci-operator/jobs/redhat-developer/rhdh/
143147
├── redhat-developer-rhdh-main-presubmits.yaml

0 commit comments

Comments
 (0)