Initial commit
This commit is contained in:
12
.claude-plugin/plugin.json
Normal file
12
.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "pipeline-status",
|
||||
"description": "Summarize the status of the RHCOS pipeline using Slack",
|
||||
"version": "0.0.0-2025.11.28",
|
||||
"author": {
|
||||
"name": "coreos",
|
||||
"email": "zhongweili@tubi.tv"
|
||||
},
|
||||
"commands": [
|
||||
"./commands"
|
||||
]
|
||||
}
|
||||
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# pipeline-status
|
||||
|
||||
Summarize the status of the RHCOS pipeline using Slack
|
||||
96
commands/pipeline_status.md
Normal file
96
commands/pipeline_status.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# CoreOS Pipeline Status Analysis
|
||||
|
||||
Analyze CoreOS pipeline build status for a specific date using the containerized CoreOS pipeline status tool.
|
||||
|
||||
## Usage
|
||||
- `coreos_pipeline_status` - Analyze builds for today's date
|
||||
- `coreos_pipeline_status YYYY-MM-DD` - Analyze builds for specific date
|
||||
|
||||
## Implementation
|
||||
|
||||
### Step 1: Execute Pipeline Status Query
|
||||
```bash
|
||||
# Set date parameter (defaults to current date)
|
||||
date=${1:-$(date +%Y-%m-%d)}
|
||||
podman run --rm --env-file .env quay.io/cverna/coreos-pipeline-status:latest --date $date --pretty
|
||||
```
|
||||
|
||||
### Step 2: Analysis Requirements
|
||||
1. **Build Summary**: Count total builds, failures, and successes
|
||||
2. **Version Breakdown**: Use exact version names from Jenkins messages (e.g., rhel-10.1, 4.21-9.6, 4.20-10.1)
|
||||
3. **Job Type Analysis**: Break down by job type (architecture builds, release builds, node-image builds)
|
||||
4. **Architecture Analysis**: Break down by architecture (x86_64, ppc64le, s390x, aarch64)
|
||||
5. **Failure Rate**: Calculate overall failure percentage
|
||||
6. **Notable Issues**: Highlight patterns or user comments about failures
|
||||
|
||||
### Step 3: Report Generation
|
||||
Create a concise summary including:
|
||||
|
||||
#### Required Sections:
|
||||
- **Total Messages**: Count of pipeline notifications
|
||||
- **Build Status Overview**: Success/failure counts with emoji indicators
|
||||
- **Builds by Version & Job Type**: Version-specific breakdowns using exact Jenkins message names
|
||||
- **Job Type Breakdown**: Success/failure rates by job type (arch builds, releases, node-image builds)
|
||||
- **Architecture Breakdown**: Per-architecture success/failure rates
|
||||
- **Notable Issues**: Key problems or patterns observed
|
||||
|
||||
#### Status Indicators:
|
||||
- 🔥 Failed builds (red color in Slack)
|
||||
- ✨ Successful builds (green color in Slack)
|
||||
- 🚅 Release builds (yellow/orange color in Slack)
|
||||
|
||||
#### Formatting Requirements:
|
||||
- Use markdown headers and bullet points
|
||||
- Include build numbers and Jenkins url links
|
||||
- Calculate and display failure percentages
|
||||
- Highlight architecture-specific issues (e.g., 100% ppc64le failures)
|
||||
|
||||
### Step 4: Slack Summary Generation
|
||||
|
||||
Finish the status with a short slack message to highlight the failures, see example below:
|
||||
|
||||
```
|
||||
🚨 CoreOS Pipeline Summary - 2025-09-17
|
||||
21% failure rate (3/14 builds failed)
|
||||
|
||||
node-image builds:
|
||||
- 4.21-10.1: 0/1 🔥
|
||||
- 4.21-9.6: 0/2 🔥
|
||||
- 4.20-10.1: 1/1 ✅
|
||||
|
||||
RHCOS & Release builds:
|
||||
- rhel-10.1: 5/5 ✅
|
||||
- 4.15-9.2: 5/5 ✅
|
||||
```
|
||||
|
||||
#### Summary Guidelines:
|
||||
- Lead with overall failure percentage
|
||||
- Highlight job type specific failures (e.g., node-image builds vs arch builds)
|
||||
- Use exact version names from Jenkins messages
|
||||
- Group by job type when patterns emerge (e.g., all node-image builds failing)
|
||||
- End with builds by version table using ✅/🔥 indicators
|
||||
- Keep under 10 lines for urgent visibility
|
||||
- Use emojis for quick visual scanning
|
||||
|
||||
### Step 5: Post Summary to Slack
|
||||
|
||||
After generating the analysis and summary, post the summary to the Slack channel:
|
||||
|
||||
```bash
|
||||
podman run --rm --env-file .env quay.io/cverna/coreos-pipeline-status:latest --summary "SLACK_SUMMARY_TEXT"
|
||||
```
|
||||
|
||||
Example:
|
||||
```bash
|
||||
podman run --rm --env-file .env quay.io/cverna/coreos-pipeline-status:latest --summary "🚨 CoreOS Pipeline Summary - 2025-09-17
|
||||
21% failure rate (3/14 builds failed)
|
||||
|
||||
node-image builds:
|
||||
- 4.21-10.1: 0/1 🔥
|
||||
- 4.21-9.6: 0/2 🔥
|
||||
- 4.20-10.1: 1/1 ✅
|
||||
|
||||
RHCOS & Release builds:
|
||||
- rhel-10.1: 5/5 ✅
|
||||
- 4.15-9.2: 5/5 ✅"
|
||||
```
|
||||
45
plugin.lock.json
Normal file
45
plugin.lock.json
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"$schema": "internal://schemas/plugin.lock.v1.json",
|
||||
"pluginId": "gh:coreos/ai-helpers:plugins/pipeline-status",
|
||||
"normalized": {
|
||||
"repo": null,
|
||||
"ref": "refs/tags/v20251128.0",
|
||||
"commit": "33fffe772454bae604947f5bfc70cf29c700b767",
|
||||
"treeHash": "eb14da2d28c96abad419817d08fcd3c0ba7fe56c4893d0d1183462c2bd7803d0",
|
||||
"generatedAt": "2025-11-28T10:15:46.538128Z",
|
||||
"toolVersion": "publish_plugins.py@0.2.0"
|
||||
},
|
||||
"origin": {
|
||||
"remote": "git@github.com:zhongweili/42plugin-data.git",
|
||||
"branch": "master",
|
||||
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
|
||||
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
|
||||
},
|
||||
"manifest": {
|
||||
"name": "pipeline-status",
|
||||
"description": "Summarize the status of the RHCOS pipeline using Slack",
|
||||
"version": null
|
||||
},
|
||||
"content": {
|
||||
"files": [
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "f42248394e14f8de2960ea6c51c2ad8cf121e7399f93cbc630c1914c2972878d"
|
||||
},
|
||||
{
|
||||
"path": ".claude-plugin/plugin.json",
|
||||
"sha256": "f07af0fd55908ed78f1b84edc5d1c88fc57ed4f2f8ad0a3e071e64cdbdc8b631"
|
||||
},
|
||||
{
|
||||
"path": "commands/pipeline_status.md",
|
||||
"sha256": "640f42a6653f65cfe3cbb86a3a8a2290e43e8c098ebf20121e57530c8b400d6a"
|
||||
}
|
||||
],
|
||||
"dirSha256": "eb14da2d28c96abad419817d08fcd3c0ba7fe56c4893d0d1183462c2bd7803d0"
|
||||
},
|
||||
"security": {
|
||||
"scannedAt": null,
|
||||
"scannerVersion": null,
|
||||
"flags": []
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user