mirror of
https://github.com/btouchard/ackify-ce.git
synced 2026-02-11 00:09:47 -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
36 lines
864 B
YAML
36 lines
864 B
YAML
name: Security Scan
|
|
|
|
on:
|
|
workflow_call:
|
|
|
|
env:
|
|
REGISTRY: docker.io
|
|
IMAGE_NAME: btouchard/ackify-ce
|
|
|
|
jobs:
|
|
trivy:
|
|
name: Trivy Vulnerability Scan
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Compute IMAGE_TAG
|
|
run: |
|
|
# Strip leading 'v' from tag refs; leave branches unchanged
|
|
echo "IMAGE_TAG=${GITHUB_REF_NAME#v}" >> "$GITHUB_ENV"
|
|
|
|
- name: Run Trivy vulnerability scanner
|
|
uses: aquasecurity/trivy-action@master
|
|
with:
|
|
image-ref: '${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}'
|
|
format: 'sarif'
|
|
output: 'trivy-results.sarif'
|
|
|
|
# - name: Upload Trivy scan results to GitHub Security tab
|
|
# uses: github/codeql-action/upload-sarif@v3
|
|
# if: always()
|
|
# with:
|
|
# sarif_file: 'trivy-results.sarif'
|