Skip to content

feat(plugins): use CLAUDE_PLUGIN_DATA for persistent LSP server installation #247

feat(plugins): use CLAUDE_PLUGIN_DATA for persistent LSP server installation

feat(plugins): use CLAUDE_PLUGIN_DATA for persistent LSP server installation #247

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
jobs:
lint:
runs-on: [self-hosted, linux, x64, ubuntu-2404, aws]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- uses: runs-on/cache@v4
with:
path: ~/.bun/install/cache
key: bun-cache-${{ hashFiles('**/bun.lock') }}
restore-keys: bun-cache-
- name: Install dependencies
run: bun install
- name: Lint (changed files only for PR)
if: github.event_name == 'pull_request'
run: bunx lint-staged --diff="origin/${{ github.base_ref }}...HEAD"
- name: Lint (full for push to main)
if: github.event_name == 'push'
run: bun run lint
typecheck:
runs-on: [self-hosted, linux, x64, ubuntu-2404, aws]
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- uses: runs-on/cache@v4
with:
path: ~/.bun/install/cache
key: bun-cache-${{ hashFiles('**/bun.lock') }}
restore-keys: bun-cache-
- name: Install dependencies
run: bun install
- name: Typecheck
run: bun run typecheck
test:
runs-on: [self-hosted, linux, x64, ubuntu-2404, aws]
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- uses: runs-on/cache@v4
with:
path: ~/.bun/install/cache
key: bun-cache-${{ hashFiles('**/bun.lock') }}
restore-keys: bun-cache-
- name: Install dependencies
run: bun install
- name: Run tests
run: bun run test
- name: Generate coverage reports
run: |
cd packages/lsp && bun test --coverage --coverage-reporter=lcov
cd ../code && bun test --coverage --coverage-reporter=lcov || true
cd ../dora && bun test --coverage --coverage-reporter=lcov || true
continue-on-error: true
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: |
./packages/lsp/coverage/lcov.info
./packages/code/coverage/lcov.info
./packages/dora/coverage/lcov.info
fail_ci_if_error: false