Skip to content

Commit 418cee8

Browse files
sjnimsclaude
andcommitted
revert(ci): remove PR checks orchestrator, restore independent workflows
The orchestrator approach (pr-checks.yml) was causing issues with workflow execution. This reverts to the simpler independent workflow model where each workflow triggers directly on pull_request events with path filters. Changes: - Remove pr-checks.yml orchestrator - Restore markdownlint.yml to direct pull_request trigger - Restore links.yml to direct pull_request trigger - Restore component-validation.yml to direct pull_request trigger - Restore version-check.yml to direct pull_request trigger - Restore validate-workflows.yml to direct pull_request trigger - Restore claude-pr-review.yml to direct pull_request trigger - Update CLAUDE.md to reflect simplified CI/CD structure 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 3449f5e commit 418cee8

8 files changed

Lines changed: 42 additions & 208 deletions

File tree

.github/workflows/claude-pr-review.yml

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
name: Claude Automated PR Review
22

33
on:
4-
# Reusable workflow - called by pr-checks.yml orchestrator
5-
workflow_call:
4+
# Using pull_request (not pull_request_target) for security:
5+
# - pull_request_target exposes secrets to fork PRs, creating exfiltration risk
6+
# - For fork PRs needing review, maintainers can manually @claude via claude.yml
7+
pull_request:
8+
types: [opened, synchronize, ready_for_review]
69

710
# Cancel any in-progress review for the same PR when new commits are pushed
811
concurrency:
9-
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
12+
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
1013
cancel-in-progress: true
1114

1215
jobs:
@@ -17,7 +20,6 @@ jobs:
1720
github.actor != 'claude[bot]' &&
1821
github.event.pull_request.draft == false
1922
runs-on: ubuntu-latest
20-
timeout-minutes: 15
2123
permissions:
2224
contents: read
2325
pull-requests: write
@@ -35,12 +37,8 @@ jobs:
3537
with:
3638
node-version: "20"
3739

38-
- name: Cache npm packages
39-
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
40-
with:
41-
path: ~/.npm
42-
key: npm-markdownlint-${{ runner.os }}
43-
restore-keys: npm-markdownlint-
40+
- name: Install markdownlint-cli
41+
run: npm install -g markdownlint-cli
4442

4543
- name: Review PR with Claude
4644
uses: anthropics/claude-code-action@6337623ebba10cf8c8214b507993f8062fd4ccfb # v1.0.22
@@ -58,7 +56,7 @@ jobs:
5856
5957
## Instructions
6058
1. Get the PR diff to understand what changed
61-
2. If any `.md` files were changed, run `npx markdownlint-cli --config .markdownlint.json <files>` to check for style issues
59+
2. If any `.md` files were changed, run `markdownlint --config .markdownlint.json <files>` to check for style issues
6260
3. Review the changes against the criteria below
6361
4. Post a summary comment with your findings
6462
@@ -70,8 +68,8 @@ jobs:
7068
- **Agents** (`agents/*.md`): Verify <example> blocks for triggering, appropriate tool restrictions.
7169
- **Hooks** (`hooks/hooks.json`): Validate event types and matcher patterns.
7270
73-
### Markdown Quality
74-
Run `npx markdownlint-cli --config .markdownlint.json` on changed `.md` files. Key rules enforced:
71+
### Markdown Quality (run markdownlint)
72+
Run `markdownlint --config .markdownlint.json` on changed `.md` files. Key rules enforced:
7573
- ATX-style headers (`#` not underlines)
7674
- Dash-style lists (`-` not `*` or `+`)
7775
- 2-space indentation for nested lists
@@ -92,4 +90,4 @@ jobs:
9290
Be constructive and helpful. Focus on significant issues, not nitpicks.
9391
If the PR looks good, say so briefly - don't invent problems.
9492
claude_args: |
95-
--allowedTools "Bash(gh pr:*),Bash(npx markdownlint-cli:*),Read,Glob,Grep,mcp__github_inline_comment__create_inline_comment"
93+
--allowedTools "Bash(gh pr:*),Bash(markdownlint:*),Read,Glob,Grep,mcp__github_inline_comment__create_inline_comment"

.github/workflows/component-validation.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
name: Plugin Component Validation
22

33
on:
4-
# Reusable workflow - called by pr-checks.yml orchestrator
5-
workflow_call:
4+
pull_request:
5+
types: [opened, synchronize, ready_for_review]
6+
paths:
7+
- "plugins/plugin-dev/commands/**"
8+
- "plugins/plugin-dev/skills/**"
9+
- "plugins/plugin-dev/agents/**"
10+
- "plugins/plugin-dev/hooks/**"
611

712
# Cancel any in-progress validation for the same PR when new commits are pushed
813
concurrency:
9-
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
14+
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
1015
cancel-in-progress: true
1116

1217
jobs:
@@ -17,7 +22,6 @@ jobs:
1722
github.actor != 'claude[bot]' &&
1823
github.event.pull_request.draft == false
1924
runs-on: ubuntu-latest
20-
timeout-minutes: 15
2125
permissions:
2226
contents: read
2327
pull-requests: write
@@ -28,7 +32,7 @@ jobs:
2832
- name: Checkout repository
2933
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
3034
with:
31-
fetch-depth: 1
35+
fetch-depth: 0
3236

3337
- name: Get changed plugin component files
3438
id: changed-files

.github/workflows/links.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
name: Check Links
22

33
on:
4-
# Reusable workflow - called by pr-checks.yml orchestrator
5-
workflow_call:
6-
# Standalone triggers
4+
pull_request:
5+
paths:
6+
- '**.md'
77
schedule:
88
- cron: '0 0 * * 0' # Weekly on Sunday at midnight UTC
99
workflow_dispatch:
@@ -16,7 +16,6 @@ jobs:
1616
linkChecker:
1717
name: Check Markdown Links
1818
runs-on: ubuntu-latest
19-
timeout-minutes: 10
2019
steps:
2120
- name: Checkout code
2221
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
@@ -37,7 +36,7 @@ jobs:
3736
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3837

3938
- name: Create Issue From File
40-
if: failure() && github.event_name == 'schedule'
39+
if: failure()
4140
uses: peter-evans/create-issue-from-file@fca9117c27cdc29c6c4db3b86c48e4115a786710 # v6
4241
with:
4342
title: Broken links detected

.github/workflows/markdownlint.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
name: Markdown Lint
22

33
on:
4-
# Reusable workflow - called by pr-checks.yml orchestrator
5-
workflow_call:
6-
# Standalone trigger for main branch pushes
4+
pull_request:
5+
paths:
6+
- "**.md"
77
push:
88
branches:
99
- main
@@ -18,7 +18,6 @@ jobs:
1818
lint:
1919
name: Lint Markdown Files
2020
runs-on: ubuntu-latest
21-
timeout-minutes: 5
2221
steps:
2322
- name: Checkout code
2423
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

.github/workflows/pr-checks.yml

Lines changed: 0 additions & 158 deletions
This file was deleted.

.github/workflows/validate-workflows.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
name: Validate Workflows
22

33
on:
4-
# Reusable workflow - called by pr-checks.yml orchestrator
5-
workflow_call:
6-
# Standalone trigger for main branch pushes
4+
pull_request:
5+
paths:
6+
- '.github/workflows/**'
77
push:
88
branches:
99
- main
@@ -18,7 +18,6 @@ jobs:
1818
actionlint:
1919
name: Lint GitHub Actions Workflows
2020
runs-on: ubuntu-latest
21-
timeout-minutes: 5
2221
steps:
2322
- name: Checkout code
2423
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

.github/workflows/version-check.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
name: Version Consistency Check
22

33
on:
4-
# Reusable workflow - called by pr-checks.yml orchestrator
5-
workflow_call:
6-
# Manual trigger for pre-release checks
7-
workflow_dispatch:
4+
pull_request:
5+
paths:
6+
- "plugins/plugin-dev/.claude-plugin/plugin.json"
7+
- ".claude-plugin/marketplace.json"
8+
- "CLAUDE.md"
9+
workflow_dispatch: # Manual trigger for pre-release checks
810

911
# Cancel any in-progress check for the same PR when new commits are pushed
1012
concurrency:
@@ -18,7 +20,6 @@ jobs:
1820
github.actor != 'dependabot[bot]' &&
1921
github.actor != 'claude[bot]'
2022
runs-on: ubuntu-latest
21-
timeout-minutes: 10
2223
permissions:
2324
contents: read
2425
id-token: write

CLAUDE.md

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -169,24 +169,16 @@ Use these agents proactively after creating components:
169169

170170
## CI/CD
171171

172-
### PR Checks Orchestrator
172+
### PR Workflows
173173

174-
The `pr-checks.yml` workflow orchestrates all PR validation:
175-
176-
- Detects changed files and runs only relevant checks
177-
- Provides single `All Checks Pass` status for branch protection
178-
- Runs checks in parallel for efficiency
179-
180-
### Reusable Workflows (called by orchestrator)
181-
182-
| Workflow | Trigger Condition | Purpose |
183-
|----------|-------------------|---------|
174+
| Workflow | Trigger | Purpose |
175+
|----------|---------|---------|
184176
| `markdownlint.yml` | `**.md` changed | Lint markdown files |
185177
| `links.yml` | `**.md` changed | Check for broken links |
186-
| `component-validation.yml` | `plugins/plugin-dev/**` changed | Validate plugin components |
178+
| `component-validation.yml` | Plugin components changed | Validate plugin components |
187179
| `version-check.yml` | Version files changed | Ensure version consistency |
188180
| `validate-workflows.yml` | `.github/workflows/**` changed | Lint GitHub Actions |
189-
| `claude-pr-review.yml` | Always (non-draft PRs) | AI-powered code review |
181+
| `claude-pr-review.yml` | All PRs (non-draft) | AI-powered code review |
190182

191183
### Other Workflows
192184

0 commit comments

Comments
 (0)