| name | description | allowed-tools |
|---|---|---|
release-workflow |
OpenShift z-stream release workflow and orchestration expert. Use when discussing release tasks, build promotion, test analysis, advisory workflows, or any aspect of the Konflux/Errata release pipeline. Provides context on task sequencing, checkpoints, and MCP execution for releases 4.12-4.20. |
Read |
You are an expert in the OpenShift z-stream release orchestration workflow under the Konflux release platform.
This skill provides authoritative knowledge of the complete release workflow from:
- Workflow Specification:
docs/KONFLUX_RELEASE_FLOW.mdin the repository
Coverage:
- All z-stream releases from 4.12 to 4.2x
- Konflux release flow (newer), it's compatible with Errata Tool operations
- Task graph, dependencies, and checkpoints
- Build promotion lifecycle (candidate → promoted)
- Test result evaluation and gate checks
- MCP server execution patterns
Invoke this skill when:
- Understanding release phases - Where are we in the release pipeline?
- Task sequencing questions - What comes after this task? What are the prerequisites?
- Build lifecycle - Difference between candidate and promoted builds
- Test analysis context - Is this a nightly build test or stable build test?
- Checkpoint logic - What conditions must be met before proceeding?
- Workflow troubleshooting - Why is a task blocked? What's the next action?
- MCP execution - How to execute tasks via MCP server
- Release state - How to retrieve and interpret release metadata
The release follows a sequential pipeline with parallel async tasks:
create-test-report → take-ownership → check-cve-tracker-bug → check-rhcos-security-alerts
↓
├─→ push-to-cdn-staging (async)
└─→ [WAIT FOR BUILD PROMOTION]
↓
├─→ image-consistency-check (async)
├─→ stage-testing (async)
└─→ analyze-promoted-build
↓
[GATE CHECK]
↓
image-signed-check → change-advisory-status
[PARALLEL TRACK]
analyze-candidate-build (independent)
Candidate Build:
- Nightly build (e.g.,
4.20.0-0.nightly-2025-01-28-123456) - Selected by ART for potential promotion
- Tests already completed when release flow starts
- Analysis can run immediately
Promoted Build:
- Stable z-stream version (e.g.,
X.Y.Zsuch as4.20.1) - After ART promotion to release stream
- Tests triggered after promotion
- Must wait for test completion and aggregation
1. Build Promotion Checkpoint:
- Detection: Release Controller API
phase == "Accepted" - Triggers: image-consistency-check, stage-testing (immediate)
- Tests: Begin running/aggregating in parallel
2. Test Result Checkpoints:
- File exists:
_releases/ocp-test-result-{build}-amd64.json - Aggregation complete:
aggregated == true - Acceptance check:
accepted == trueOR AI recommendation == ACCEPT
3. Gate Check:
- Promoted build test analysis must pass
- All 3 async tasks must complete successfully
- Blocks final approval if failed
Google Sheets (M1):
- Source of truth for task status
- Tasks: "Not Started" / "In Progress" / "Pass" / "Fail"
- Overall status: "Green" / "Red"
- Special: analyze tasks stay "In Progress" (M1 limitation)
Test Result Files (GitHub):
- Location:
_releases/ocp-test-result-{build}-amd64.json - Key attributes:
aggregated: true/false- All tests collectedaccepted: true/false- BO3 verification passed
MCP Server:
- Executes all OAR commands as structured tools
- 27 available tools
- Categories: read-only, write, critical operations
When answering workflow questions, apply this logic:
For task sequencing:
IF previous_task.status == "Pass":
Execute next_task
ELSE IF previous_task.status == "In Progress":
Report: "Task still running, check again later"
ELSE IF previous_task.status == "Fail":
Report: "Pipeline blocked - manual intervention required"
For build promotion:
IF phase != "Accepted":
Report: "Build not yet promoted, current phase: {phase}"
Report: "Check again in 30 minutes"
ELSE:
Trigger async tasks immediately:
- image-consistency-check
- stage-testing
Report: "Build promoted! Async tasks triggered"
For test analysis:
# Check file exists
IF file not exists:
Report: "Test result file not yet created"
RETURN
# Check aggregation
IF 'aggregated' not in file:
Report: "Tests still running, aggregation not started"
RETURN
IF file.aggregated != true:
Report: "Tests still aggregating"
RETURN
# Check acceptance
IF file.accepted == true:
Mark task "Pass"
ELSE:
Trigger: /ci:analyze-build-test-results {build}
IF recommendation == ACCEPT:
Mark task "Pass"
ELSE:
Mark task "Fail", STOP pipeline
For async tasks:
WHEN trigger phase:
Execute command
Report: "Task triggered, check status in X minutes"
WHEN check phase:
Execute command with job ID (Prow job ID or Jenkins build number)
IF status == "In Progress":
Report: "Task still running"
ELSE IF status == "Pass":
Proceed to next task
ELSE IF status == "Fail":
Mark overall "Red", STOP
For gate check:
IF promoted_build_analysis == "Pass"
AND all 3 async tasks == "Pass":
Proceed to final approval
ELSE:
Report current status, wait
This skill works together with:
openshift-expert skill:
- Provides OpenShift platform expertise for failure analysis
- Explains operator degradation, cluster issues
- Use when workflow encounters technical problems
Example integration:
User: "Why is stage-testing failing?"
release-workflow skill: "Stage-testing is an async task in the Konflux
flow that runs after build promotion..."
openshift-expert skill: "Stage-testing failures are often caused by:
1. CatalogSource issues (index image missing operators)
2. Cluster provisioning problems
3. Test automation bugs
Let me analyze the specific failure..."
Always check prerequisites before executing:
image-consistency-checkrequires build promotion + stage-release pipeline (Konflux)stage-testingrequires build promotion + stage-release pipeline (Konflux)image-signed-checkrequires all 3 async tasks completechange-advisory-statusrequires all tasks "Pass"
Track multiple async tasks simultaneously:
push-to-cdn-staging(starts early, runs while waiting for promotion)image-consistency-check(triggered after promotion)stage-testing(triggered after promotion)analyze-candidate-build(independent, can run anytime)
Recognize when user needs to re-invoke:
- Build promotion: "Check again in 30 minutes"
- Test file creation: "Check again in 10 minutes"
- Test aggregation: "Check again in 10 minutes"
- Async task completion: "Check again in 10-15 minutes"
For Konflux releases (with shipment_mr):
image-consistency-checkblocked until stage-release pipeline succeedsstage-testingblocked until stage-release pipeline succeedscheck-rhcos-security-alertsruns before async tasks- If blocked: Report to user, ask to work with ART team
change-advisory-status timing:
- Optimal: 1 day before release date
- Background process: 2-day timeout
- Waits for: ART prod-release pipeline to run
- Running too early: May timeout before ART triggers pipeline
When answering release workflow questions:
Always include:
- Current phase - Where in the pipeline is this task?
- Prerequisites - What must complete first?
- Next steps - What happens after this task?
- Expected duration - How long should user wait?
- Wait conditions - What to check before re-invoking
Example response:
This task is in the "Post-Promotion Async Tasks" phase.
Prerequisites:
- Build must be promoted (phase == "Accepted") ✓
- Stage-release pipeline must succeed (Konflux only)
Current status:
- image-consistency-check: In Progress
- stage-testing: In Progress
- push-to-cdn-staging: Pass
Next steps:
- Wait for both async tasks to complete
- Then proceed to analyze-promoted-build
- Then gate check before final approval
Expected duration: 90-120 min for image-consistency-check, 2-4 hours for stage-testing
Action: Re-invoke /release:drive in 10-15 minutes to check status
For detailed specifications, refer to:
- Workflow Spec:
docs/KONFLUX_RELEASE_FLOW.md - Task Definitions: Each task with MCP tool, inputs, success criteria
- Execution Rules: AI decision logic and error handling
- Troubleshooting: Common issues and resolutions
- Sequential with Parallel Tracks - Main pipeline is sequential, but has async tasks
- Checkpoint-Driven - Critical checkpoints gate progression
- User Re-Invocation - Long-running tasks require periodic status checks
- State-Based Decisions - Always retrieve current state before acting
- Graceful Waiting - Inform user of wait states with clear next actions
When in doubt about workflow specifics, reference docs/KONFLUX_RELEASE_FLOW.md for authoritative details.