Skip to content

Initial public release v1.0.0 #1

Initial public release v1.0.0

Initial public release v1.0.0 #1

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.
#
# NOTE: these workflow files are designed for the eventual public repo
# `lua-ai-global/claude-code-lua-plugin` where this directory IS the repo
# root. While the plugin lives in the monorepo at
# `packages/claude-code-lua-plugin/`, GitHub Actions does NOT pick up nested
# `.github/workflows/` — only the repo-root one — so these don't fire here.
# When extracted, they will fire as-is.
#
# 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).
jobs:
plugin:
strategy:
fail-fast: false
matrix:
os: [macos-14, ubuntu-22.04, windows-2022]
node: [18, 20]
runs-on: ${{ matrix.os }}
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: coverage/
retention-days: 7
mcp:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Install MCP deps
working-directory: mcp/lua-platform
run: npm ci
- name: Test MCP
working-directory: mcp/lua-platform
run: npm test
- name: Build MCP bundle
working-directory: mcp/lua-platform
run: npm run build
- name: Verify bundle size
run: node scripts/check-bundle-size.mjs