chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
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` against the
|
||||
# marketplace catalog and each plugin directory (blocking, non-strict).
|
||||
# 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 (and
|
||||
# revisit --strict below when doing so).
|
||||
#
|
||||
# --strict (warnings-as-errors) should be enabled once this known
|
||||
# warning is fixed:
|
||||
# . -- 1 warning:
|
||||
# "root: CLAUDE.md at the plugin root is not loaded as project context. To ship context with your plugin, use a skill (skills/<name>/SKILL.md) instead."
|
||||
- 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
|
||||
Reference in New Issue
Block a user