From 0d0165e950bd4131404ec3d71799eee836b3e290 Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Sat, 14 Feb 2026 13:59:29 -0800 Subject: [PATCH] ci(extraction): add CI workflow for extraction-service (TS + Python) - TypeScript job: pnpm build, vitest, tsc --noEmit - Python job: ruff lint, pytest - Triggers on services/extraction-service/** and packages/extraction/** --- .github/workflows/ci-extraction-service.yml | 72 +++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 .github/workflows/ci-extraction-service.yml diff --git a/.github/workflows/ci-extraction-service.yml b/.github/workflows/ci-extraction-service.yml new file mode 100644 index 00000000..5cd263b9 --- /dev/null +++ b/.github/workflows/ci-extraction-service.yml @@ -0,0 +1,72 @@ +# CI for extraction-service (TypeScript + Python) +# Triggers on changes to extraction-service or extraction package +name: CI — Extraction Service + +on: + push: + branches: [main] + paths: + - 'services/extraction-service/**' + - 'packages/extraction/**' + - 'packages/errors/**' + - 'packages/cosmos/**' + - 'packages/config/**' + - 'packages/auth/**' + - 'packages/fastify-core/**' + pull_request: + branches: [main] + paths: + - 'services/extraction-service/**' + - 'packages/extraction/**' + +jobs: + typescript: + name: TypeScript (build + test) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v4 + with: + version: 10 + + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + + - run: pnpm install --frozen-lockfile + + - name: Build packages + service + run: pnpm -r --filter @lysnrai/extraction-service... build + + - name: Run tests + run: pnpm --filter @lysnrai/extraction-service test + + - name: Type check + run: pnpm --filter @lysnrai/extraction-service exec tsc --noEmit + + python: + name: Python sidecar (lint + test) + runs-on: ubuntu-latest + defaults: + run: + working-directory: services/extraction-service/python + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: '3.12' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + pip install pytest pytest-asyncio httpx ruff + + - name: Lint + run: ruff check src/ tests/ + + - name: Test + run: python -m pytest tests/ -v --tb=short