mirror of
https://github.com/EveryInc/compound-engineering-plugin.git
synced 2026-09-19 01:09:55 +08:00
78 lines
2.3 KiB
YAML
78 lines
2.3 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
pr-title:
|
|
if: github.event_name == 'pull_request'
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
pull-requests: read
|
|
|
|
steps:
|
|
- name: Validate PR title
|
|
uses: amannn/action-semantic-pull-request@v6.1.1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
requireScope: false
|
|
types: |
|
|
feat
|
|
fix
|
|
docs
|
|
refactor
|
|
chore
|
|
test
|
|
ci
|
|
build
|
|
perf
|
|
revert
|
|
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
# Full history so release:validate can read the base-branch (origin/main)
|
|
# release-please manifest when checking release-as pins for staleness.
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Setup Bun
|
|
uses: oven-sh/setup-bun@v2
|
|
with:
|
|
bun-version: latest
|
|
|
|
- name: Install dependencies
|
|
run: bun install
|
|
|
|
- name: Validate release metadata
|
|
run: bun run release:validate
|
|
|
|
# Canonical schema check: runs `claude plugin validate --strict` against
|
|
# the marketplace catalog and the plugin manifest. The CLI must be
|
|
# installed via npm, not bun: `bun x` cannot run this package (bun blocks
|
|
# its required postinstall and cannot resolve its `claude` bin name), and
|
|
# `bun run` rewrites `npx` in package.json scripts to the broken `bun x`,
|
|
# so the script invokes a `claude` already on PATH instead.
|
|
#
|
|
# The validator version is pinned deliberately for reproducible CI: a
|
|
# floating @latest would track new upstream validation rules
|
|
# automatically but could break CI without any repo change. Bump the
|
|
# pin intentionally to adopt new `claude plugin validate` rules.
|
|
#
|
|
# plugin:validate must hit .claude-plugin/plugin.json — `validate .` only
|
|
# checks the marketplace. Root CLAUDE.md is a symlink to AGENTS.md so
|
|
# --strict stays green; see AGENTS.md "CI and Quality Gates".
|
|
- name: Validate plugin schema (claude plugin validate)
|
|
run: |
|
|
npm install -g @anthropic-ai/claude-code@2.1.175
|
|
bun run plugin:validate
|
|
|
|
- name: Run tests
|
|
run: bun test
|