constellation-analyzer/.github/workflows/deploy.yml
Jan-Henrik Bruhn 343dcd090a feat: add comprehensive test infrastructure and CI/CD pipelines
Implements complete testing setup with Vitest and Testing Library,
including unit tests for all Zustand stores and CI/CD automation.

Test Infrastructure:
- Vitest configuration with JSDOM environment
- Testing Library for React component testing
- Test setup with mocks for React Flow and browser APIs
- Comprehensive test suite for all 10 Zustand stores

Store Tests Added:
- bibliographyStore.test.ts: Bibliography entry management
- editorStore.test.ts: Document editor state and operations
- graphStore.test.ts: Graph state and node/edge operations
- historyStore.test.ts: Undo/redo functionality
- panelStore.test.ts: Panel visibility and state management
- searchStore.test.ts: Search functionality and filters
- settingsStore.test.ts: Application settings persistence
- timelineStore.test.ts: Timeline state management
- toastStore.test.ts: Toast notification system
- workspaceStore.test.ts: Workspace and document operations

CI/CD Pipelines:
- New CI workflow for PRs and pushes to main/develop
- Enhanced deployment workflow with test execution
- Automated linting, testing, and type checking
- GitHub Actions integration with artifact deployment

Build Configuration:
- Updated Vite config for test support
- Test scripts in package.json (test:run, test:ui, test:watch)
- Type checking integrated into build process

Documentation:
- Architecture review with recommendations
- Test documentation and patterns guide

All tests passing with comprehensive coverage of store functionality,
edge cases, and error handling scenarios.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 11:52:40 +01:00

44 lines
No EOL
843 B
YAML

name: Deploy to GitHub Pages
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: read
pages: write
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install dependencies
run: npm ci
- name: Run linter
run: npm run lint
- name: Run tests
run: npm run test:run
- name: Build production files (includes type check)
run: npm run build
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./dist
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4