spawn/.github/workflows/lint.yml
A f5f0b9ec64
fix(lint): fix biome violations in packages/shared and add to CI (#2923)
The CI biome check only covered packages/cli/src/, .claude/scripts/,
and .claude/skills/setup-spa/ — packages/shared/src/ was unchecked,
allowing 7 lint/format violations to accumulate in its test files.

- Auto-fix import ordering, formatting, and useNumberNamespace lint
  across 3 test files in packages/shared/src/__tests__/
- Add packages/shared/src/ to the biome check in lint.yml so future
  violations are caught in CI

Co-authored-by: B <6723574+louisgv@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 17:49:55 -07:00

64 lines
1.5 KiB
YAML

name: Lint
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
jobs:
shellcheck:
name: ShellCheck
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install ShellCheck
run: |
sudo apt-get update
sudo apt-get install -y shellcheck
- name: Run ShellCheck on all bash scripts
run: |
# Find all .sh files, excluding node_modules and other irrelevant directories
# Note: Using || true temporarily - 3,598 existing warnings need gradual fixes
find . -name "*.sh" \
! -path "*/node_modules/*" \
! -path "*/.git/*" \
! -path "*/dist/*" \
! -path "*/build/*" \
-print0 | xargs -0 shellcheck || true
- name: ShellCheck version info
if: always()
run: shellcheck --version
biome:
name: Biome Lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Install dependencies
run: bun install
- name: Run Biome check (all packages)
run: bunx @biomejs/biome check packages/cli/src/ packages/shared/src/ .claude/scripts/ .claude/skills/setup-spa/
macos-compat:
name: macOS Compatibility
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run macOS compat linter
run: bash sh/test/macos-compat.sh