Skip to content

Restructure as marketplace+plugin per Claude Code canonical layout #2

Restructure as marketplace+plugin per Claude Code canonical layout

Restructure as marketplace+plugin per Claude Code canonical layout #2

Workflow file for this run

name: ci
on:
push:
branches: [main, staging]
pull_request:
branches: [main, staging]
# Runs on every PR and every push to main/staging.
# Lints + tests the plugin only — no real lua-cli, no staging agents,
# no secrets needed. Fork PRs run cleanly.
#
# Public-repo CI (lua-ai-global/claude-code-lua-plugin). The repo root is a
# marketplace catalog (.claude-plugin/marketplace.json) and the plugin
# itself lives at plugins/lua-agent-builder/ per the canonical Claude Code
# marketplace+plugin layout.
#
# Cross-platform matrix because the plugin must work on macOS, Linux, and
# Windows (per §3.8 of the feature doc — Node ESM hooks, AbortSignal.timeout,
# path handling all need verification per cell).
defaults:
run:
working-directory: plugins/lua-agent-builder
jobs:
plugin:
strategy:
fail-fast: false
matrix:
os: [macos-14, ubuntu-22.04, windows-2022]
node: [18, 20]
runs-on: ${{ matrix.os }}
defaults:
run:
working-directory: plugins/lua-agent-builder
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- run: npm ci
- run: npm run lint
- run: npm test -- --coverage
- run: node scripts/check-coverage.mjs
- if: matrix.os == 'ubuntu-22.04' && matrix.node == '20'
uses: actions/upload-artifact@v4
with:
name: coverage
path: plugins/lua-agent-builder/coverage/
retention-days: 7
mcp:
runs-on: ubuntu-22.04
defaults:
run:
working-directory: plugins/lua-agent-builder
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Install MCP deps
working-directory: plugins/lua-agent-builder/mcp/lua-platform
run: npm ci
- name: Test MCP
working-directory: plugins/lua-agent-builder/mcp/lua-platform
run: npm test
- name: Build MCP bundle
working-directory: plugins/lua-agent-builder/mcp/lua-platform
run: npm run build
- name: Verify bundle size
run: node scripts/check-bundle-size.mjs