Skip to content

feat(lsp): surface traceability gaps in family gate #297

feat(lsp): surface traceability gaps in family gate

feat(lsp): surface traceability gaps in family gate #297

Workflow file for this run

name: CI/CD Pipeline
on:
push:
branches: [main, master, develop]
pull_request:
branches: [main, master, develop]
jobs:
test-typescript:
name: TypeScript Tests
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '18'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run linter
run: npm run lint
- name: Run type check
run: npx tsc --noEmit
- name: Run unit tests
run: npm run test:unit
- name: Run integration tests
run: npm run test:integration
test-extension:
name: VSCode Extension Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Compile
run: npm run compile
- name: Run extension tests
uses: coactions/setup-xvfb@v1
with:
run: npm run test:e2e
continue-on-error: true
build:
name: Build Extension
runs-on: ubuntu-latest
needs: [test-typescript]
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Build extension
run: npm run compile
- name: Package extension
run: npx @vscode/vsce package
continue-on-error: true
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: openqc-vscode
path: '*.vsix'
continue-on-error: true
security-scan:
name: Security Scan
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Run npm audit
run: npm audit --audit-level=moderate
continue-on-error: true
lint-all:
name: Code Quality Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Run ESLint
run: npm run lint
- name: Run Prettier check
run: npm run format:check
- name: Check TypeScript
run: npx tsc --noEmit
pre-commit-check:
name: Pre-commit Hooks Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '18'
- name: Install dependencies
run: npm ci
- name: Install Husky
run: npm run prepare
- name: Check pre-commit hooks exist
run: |
if [ -f .husky/pre-commit ]; then
echo "✅ Pre-commit hook exists"
else
echo "❌ Pre-commit hook not found"
exit 1
fi