mirror of
https://github.com/btouchard/ackify.git
synced 2026-02-11 16:28:52 -06:00
Reorganize GitHub Actions workflows into reusable components and implement complete code coverage tracking across backend, frontend, and E2E tests. **CI/CD Improvements:** - Split monolithic ci.yml into 6 specialized reusable workflows - New workflows: test-backend, test-frontend, test-e2e, build-docker, security, coverage-report - Orchestrated execution with proper dependencies and parallel jobs - Codecov integration with multi-flag coverage (backend/frontend/e2e) **Frontend Testing:** - Add Vitest for unit testing with coverage-v8 provider - Create test setup with window mocks for Ackify globals - Add 34 unit tests for titleExtractor, referenceDetector, and http utils - Configure Istanbul instrumentation for E2E coverage collection - Integrate @cypress/code-coverage for E2E test coverage **Test Infrastructure:** - Create run-tests-suite.sh for local comprehensive test execution - Proper Docker Compose orchestration for integration and E2E tests - Automatic cleanup handlers with trap for test environments - Coverage summary aggregation across all test types **Bug Fixes:** - Fix backend config tests after OAuth/MagicLink validation changes - Update tests from panic expectations to error checking - Ensure OAUTH_COOKIE_SECRET is properly configured in tests **Configuration:** - Add .codecov.yml for coverage reporting with flags - Add .nycrc.json for E2E LCOV generation - Update .gitignore for test artifacts and coverage reports - Configure Vite for test environment and code instrumentation
59 lines
1.1 KiB
YAML
59 lines
1.1 KiB
YAML
# Codecov configuration for Ackify CE
|
|
# Documentation: https://docs.codecov.com/docs/codecov-yaml
|
|
|
|
coverage:
|
|
status:
|
|
project:
|
|
default:
|
|
target: auto
|
|
threshold: 2%
|
|
informational: false
|
|
patch:
|
|
default:
|
|
target: auto
|
|
threshold: 5%
|
|
informational: true
|
|
|
|
# Separate flags for different test types
|
|
flags:
|
|
backend:
|
|
paths:
|
|
- backend/
|
|
carryforward: true
|
|
frontend:
|
|
paths:
|
|
- webapp/src/
|
|
carryforward: true
|
|
e2e:
|
|
paths:
|
|
- webapp/src/
|
|
carryforward: true
|
|
|
|
# Files to ignore
|
|
ignore:
|
|
- "**/*.test.ts"
|
|
- "**/*.spec.ts"
|
|
- "**/*.cy.ts"
|
|
- "webapp/cypress/**"
|
|
- "webapp/tests/**"
|
|
- "backend/cmd/*/main.go"
|
|
- "backend/migrations/**"
|
|
- "backend/locales/**"
|
|
- "backend/templates/**"
|
|
- "**/node_modules/**"
|
|
- "**/dist/**"
|
|
- "**/coverage/**"
|
|
- "**/coverage-e2e/**"
|
|
|
|
# Comment behavior on pull requests
|
|
comment:
|
|
layout: "reach,diff,flags,tree"
|
|
behavior: default
|
|
require_changes: false
|
|
require_base: false
|
|
require_head: true
|
|
|
|
# GitHub checks
|
|
github_checks:
|
|
annotations: true
|