Skip to content

feat: Gangway override flags, commission-release workflow, PR #25 follow-ups#38

Merged
durandom merged 7 commits into
redhat-developer:mainfrom
zdrapela:feature/gangway-overrides-commission-release
Jun 5, 2026
Merged

feat: Gangway override flags, commission-release workflow, PR #25 follow-ups#38
durandom merged 7 commits into
redhat-developer:mainfrom
zdrapela:feature/gangway-overrides-commission-release

Conversation

@zdrapela

@zdrapela zdrapela commented Jun 2, 2026

Copy link
Copy Markdown
Member

Changes

  • prow-trigger-nightly: Add --catalog-index-image, --chart-version (RHDH-only), --playwright-version (overlay-only) flags with per-repo validation
  • prow: Add commission-release workflow + shared release-branch-config.md reference; refactor decommission to use shared ref + make update
  • prow: Fix analyze_coverage.py URL encoding and IndexError guard
  • prow: Add --reference X.Y format validation to generate_cluster_pool.py
  • docs: ADR 0002 ruamel.yaml PEP 723 exception
  • docs: Add lifecycle, prow, prow-trigger-nightly skills to README

Jira: https://redhat.atlassian.net/browse/RHIDP-14348

Related PRs:

This PR is also addressing feedback from #25

zdrapela added 6 commits June 2, 2026 10:49
…dex, chart version, playwright version

Add --catalog-index-image (both repos), --chart-version (RHDH-only),
and --playwright-version (overlay-only) flags to trigger_nightly_job.py.

Restructure argument groups into shared, RHDH-only, and overlay-only
with per-repo validation that rejects unsupported flags.

Update SKILL.md with new options, RC/GA verification examples, and
updated flag reference.

Jira: https://redhat.atlassian.net/browse/RHIDP-14348

Assisted-by: OpenCode
…h config

Add references/release-branch-config.md with shared definitions (file
paths, branch protection template, release-vs-main differences) used by
both commission and decommission workflows.

Add workflows/commission-release.md for bootstrapping CI configuration
when a new RHDH release branch is created.

Refactor workflows/decommission-release.md to reference the shared
config and use 'make update' for generated job cleanup instead of
manual file deletion.

Update SKILL.md description and routing table.

Assisted-by: OpenCode
Replace .replace(' ', '+') with urllib.parse.quote_plus() for proper
URL encoding of product names in the fallback _fetch_api function.

Guard api_data.get('data', [{}])[0] against empty data arrays to
prevent IndexError when the API returns no results.

Addresses non-blocking review items from PR redhat-developer#25.

Assisted-by: OpenCode
Validate that --reference matches X.Y format before splitting, matching
the existing validation in generate_test_entry.py. Previously, a
malformed --reference value would crash at split('.').

Addresses non-blocking review item from PR redhat-developer#25.

Assisted-by: OpenCode
Document that prow skill scripts use ruamel.yaml via PEP 723 inline
script metadata for round-trip YAML fidelity. The dependency is managed
by uv run --script with no user-facing install step.

Addresses non-blocking review item from PR redhat-developer#25.

Assisted-by: OpenCode
Add Platform Lifecycle and CI / Prow sections covering the three skills
added via PRs redhat-developer#25 and redhat-developer#26 that were missing from the README.

Assisted-by: OpenCode
- Bump version 0.3.1 → 0.3.2 (pyproject.toml, plugin.json, marketplace.json)
- Add Slack alert setup section to release-branch-config.md (channel
  creation, incoming webhook, Vault secret configuration)
- Add Slack setup step to commission-release.md workflow
- Standardize placeholder casing to {version} in release-branch-config.md
- Clarify releases.latest.release field description
- Extract _first_versions() helper in analyze_coverage.py to DRY up
  the repeated api_data.get('data', [])[0] pattern
- Clarify decommission-release.md: generated jobs removed by make update
- Decommission workflow now runs make update — the previous 'Do NOT run
  make update' guidance was incorrect; make update correctly removes
  generated job files for deleted configs, matching commission behavior

Assisted-by: OpenCode
@zdrapela zdrapela force-pushed the feature/gangway-overrides-commission-release branch from e7f9e30 to 1d868ea Compare June 2, 2026 11:24
@zdrapela zdrapela marked this pull request as ready for review June 2, 2026 11:52
@zdrapela

zdrapela commented Jun 3, 2026

Copy link
Copy Markdown
Member Author

@durandom This PR is ready for a review

@durandom durandom left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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


@durandom durandom left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Review

What does this PR do?

Multi-part PR with three main areas: (1) New Gangway override flags (--catalog-index-image, --chart-version, --playwright-version) in the nightly trigger with clean per-repo validation; (2) Commission-release workflow for the prow skill as the counterpart to the existing decommission workflow; (3) Bug fixes in analyze_coverage.py (URL encoding, IndexError guard, phase detection). Plus docs updates (README, ADR 0002 ruamel.yaml exception).

Feedback

Version conflict with PR #39: Both PRs bump from 0.3.1 — #38 to 0.3.2, #39 to 0.4.0. Please coordinate merge order.

Bundled PR: Touches 3 skills (prow, prow-trigger-nightly, lifecycle indirectly) + ADR + README. The parts are thematically connected (follow-ups from #25), but if one piece is problematic it blocks everything. Not a blocker, just a note.

No tests for bug fixes: The three fixes in analyze_coverage.py (_first_versions(), URL encoding, phase detection) are all correct, but have no test coverage. The phase detection fix in particular (end is None instead of end_raw not in (..., None)) is subtle enough that a regression test would be valuable.

Commission workflow well structured: Extracting the shared release-branch-config.md avoids duplication between commission and decommission. The approach of "read the latest existing release branch and copy its structure" instead of hardcoding is robust against future changes.

Decommission fix is correct: The old instruction "Do NOT run make update" was wrong — make update automatically cleans up generated jobs for deleted configs. The manual deletion step was redundant. Good catch.

Positives

  • Argparse grouping (shared / rhdh-only / overlay-only) makes flag ownership immediately clear
  • --playwright-version is explicitly rejected for RHDH jobs with a helpful error message
  • RC/GA verification examples in SKILL.md are practical and lower the entry barrier
  • URL encoding via urllib.parse.quote_plus instead of manual string manipulation
  • ADR 0002 exception for ruamel.yaml is cleanly documented (PEP 723, auto-install via uv run --script)

🤖 Generated with Claude Code

@durandom durandom merged commit 5211d82 into redhat-developer:main Jun 5, 2026
4 checks passed
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.

2 participants