Files
claude-hud/.github/workflows/ci.yml
2026-01-03 10:25:17 +11:00

88 lines
1.8 KiB
YAML

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
bun: [latest, 1.1.30]
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ matrix.bun }}
- name: Install dependencies
working-directory: tui
run: bun install --frozen-lockfile
- name: Lint
working-directory: tui
run: bun run lint
- name: Type check
working-directory: tui
run: bun run typecheck
- name: Test
working-directory: tui
run: bun test
- name: Snapshot guard
run: git diff --exit-code
- name: Build
working-directory: tui
run: bun run build
validate-plugin:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check plugin.json exists
run: test -f .claude-plugin/plugin.json
- name: Check hooks.json exists
run: test -f hooks/hooks.json
- name: Check scripts are executable
run: |
test -x scripts/session-start.sh
test -x scripts/capture-event.sh
test -x scripts/cleanup.sh
- name: Validate JSON files
run: |
jq . .claude-plugin/plugin.json > /dev/null
jq . hooks/hooks.json > /dev/null
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install dependencies
working-directory: tui
run: bun install --frozen-lockfile
- name: Dependency audit
working-directory: tui
run: bun run audit