Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
"name": "lvms-ci",
"source": "./plugins/lvms-ci",
"description": "LVMS CI Automation",
"version": "1.3.2"
"version": "1.4.0"
},
{
"name": "mcp-atlassian",
Expand All @@ -70,7 +70,7 @@
"name": "microshift-ci",
"source": "./plugins/microshift-ci",
"description": "MicroShift CI Automation",
"version": "1.5.4"
"version": "1.6.0"
},
{
"name": "microshift-dev",
Expand Down
2 changes: 1 addition & 1 deletion plugins/lvms-ci/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "lvms-ci",
"description": "LVMS CI Automation",
"version": "1.3.2",
"version": "1.4.0",
"author": {
"name": "knarra"
},
Expand Down
14 changes: 9 additions & 5 deletions plugins/lvms-ci/skills/doctor/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Accepts a comma-separated list of release versions (or `main`), runs analysis fo

## Arguments

- `--prepared` (optional): Artifacts have already been collected by an external script. When set, skip Step 1. Read the prepare summary from `<WORKDIR>/prepare-summary.json` instead.
- `<ARGUMENTS>` (required): Comma-separated list of release versions (e.g., `main` or `4.20,4.21,4.22,main`)

## Work Directory
Expand All @@ -37,20 +38,23 @@ Compute once at the start by running `date +%y%m%d` and substituting into the pa

**Goal**: Deterministically collect all failed jobs and download their artifacts before any LLM analysis.

**Actions**:

1. Determine today's `<WORKDIR>` by running `date +%y%m%d` and substituting into `/tmp/lvm-operator-ci-claude-workdir.<YYMMDD>`. Use this value in all subsequent commands.
2. Run the prepare script:

**If `--prepared` was passed**: the prepare script was already run externally. Read the prepare summary using `Read <WORKDIR>/prepare-summary.json`. Parse the JSON to get the workdir, release info (job counts, file paths), and PR info. Then skip to Step 2.
Comment thread
coderabbitai[bot] marked this conversation as resolved.

**Otherwise** run the prepare script:

1. Run:

```text
bash plugins/lvms-ci/scripts/doctor.sh prepare --component lvm-operator --workdir <WORKDIR> <ARGUMENTS> --pull-requests
```

3. The script deterministically:
2. The script deterministically:
- For each release: fetches failed periodic jobs, downloads artifacts, writes `<WORKDIR>/jobs/release-<version>-jobs.json`
- For PRs: fetches PRs with failures, downloads artifacts, writes `<WORKDIR>/jobs/prs-jobs.json` and `<WORKDIR>/jobs/prs-status.json`
- Outputs a JSON summary listing all releases, job counts, and file paths
4. Read the JSON output to know which releases have jobs to analyze and how many
3. Read the JSON output to know which releases have jobs to analyze and how many

**Job JSON field names** (use these exactly — do NOT guess alternatives like `job_name`):

Expand Down
2 changes: 1 addition & 1 deletion plugins/microshift-ci/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "microshift-ci",
"description": "MicroShift CI Automation",
"version": "1.5.4",
"version": "1.6.0",
"author": {
"name": "ggiguash"
},
Expand Down
18 changes: 13 additions & 5 deletions plugins/microshift-ci/skills/doctor/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Accepts a comma-separated list of MicroShift release versions, runs analysis for

## Arguments

- `--prepared` (optional): Artifacts and graphs have already been collected by an external script. When set, skip Steps 1 and 1b. Read the prepare summary from `<WORKDIR>/prepare-summary.json` instead.
- `<ARGUMENTS>` (required): Comma-separated list of release versions (e.g., `4.19,4.20,4.21,4.22`)

## Work Directory
Expand All @@ -36,20 +37,23 @@ Compute once at the start by running `date +%y%m%d` and substituting into the pa

**Goal**: Deterministically collect all failed jobs and download their artifacts before any LLM analysis.

**Actions**:

1. Determine today's `<WORKDIR>` by running `date +%y%m%d` and substituting into `/tmp/microshift-ci-claude-workdir.<YYMMDD>`. Use this value in all subsequent commands.
2. Run the prepare script:

**If `--prepared` was passed**: the prepare script was already run externally. Read the prepare summary using `Read <WORKDIR>/prepare-summary.json`. Parse the JSON to get the workdir, release info (job counts, file paths), PR info, and source checkout paths. Then skip to Step 2.

**Otherwise** run the prepare script:

1. Run:

```text
bash plugins/microshift-ci/scripts/doctor.sh prepare --component microshift --workdir <WORKDIR> <ARGUMENTS> --pull-requests --repo openshift/microshift
```

3. The script deterministically:
2. The script deterministically:
- For each release: fetches failed periodic jobs, downloads artifacts, writes `<WORKDIR>/jobs/release-<version>-jobs.json`
- For rebase PRs: fetches PRs with failures, downloads artifacts, writes `<WORKDIR>/jobs/prs-jobs.json` and `<WORKDIR>/jobs/prs-status.json`
- Outputs a JSON summary listing all releases, job counts, and file paths
4. Read the JSON output to know which releases have jobs to analyze and how many
3. Read the JSON output to know which releases have jobs to analyze and how many

**Job JSON field names** (use these exactly — do NOT guess alternatives like `job_name`):

Expand All @@ -68,6 +72,10 @@ Compute once at the start by running `date +%y%m%d` and substituting into the pa

### Step 1b: Generate PCP Performance Graphs

**If `--prepared` was passed**: skip this step entirely (graphs were already generated externally). Proceed to Step 2.

**Otherwise**:

Comment thread
coderabbitai[bot] marked this conversation as resolved.
**Goal**: Generate performance graphs from PCP archives for all jobs that have pmlogs.

**Actions**:
Expand Down