ci: run all 4 layers on every push
All checks were successful
Deploy Frontend / build-and-deploy (push) Successful in 3m54s
DSPy RAG Evaluation / Layer 1 - Unit Tests (push) Successful in 10m11s
DSPy RAG Evaluation / Layer 2 - DSPy Module Tests (push) Successful in 12m4s
DSPy RAG Evaluation / Layer 3 - Integration Tests (push) Successful in 10m4s
DSPy RAG Evaluation / Layer 4 - Comprehensive Evaluation (push) Successful in 11m7s
DSPy RAG Evaluation / Quality Gate (push) Successful in 1s
All checks were successful
Deploy Frontend / build-and-deploy (push) Successful in 3m54s
DSPy RAG Evaluation / Layer 1 - Unit Tests (push) Successful in 10m11s
DSPy RAG Evaluation / Layer 2 - DSPy Module Tests (push) Successful in 12m4s
DSPy RAG Evaluation / Layer 3 - Integration Tests (push) Successful in 10m4s
DSPy RAG Evaluation / Layer 4 - Comprehensive Evaluation (push) Successful in 11m7s
DSPy RAG Evaluation / Quality Gate (push) Successful in 1s
Removed conditional execution from Layer 2 and Layer 4. All layers now run on every push, PR, and schedule. Quality Gate requires all 4 layers to pass.
This commit is contained in:
parent
1fb924c412
commit
caa2690ba4
1 changed files with 24 additions and 25 deletions
|
|
@ -1,11 +1,11 @@
|
||||||
# DSPy RAG Evaluation Workflow
|
# DSPy RAG Evaluation Workflow
|
||||||
# Automated testing and evaluation for Heritage RAG system
|
# Automated testing and evaluation for Heritage RAG system
|
||||||
#
|
#
|
||||||
# Layers:
|
# All layers run on every push/PR:
|
||||||
# - Layer 1: Fast unit tests (no LLM)
|
# - Layer 1: Fast unit tests (no LLM)
|
||||||
# - Layer 2: DSPy module tests with LLM
|
# - Layer 2: DSPy module tests with LLM
|
||||||
# - Layer 3: Integration tests (requires SSH tunnel to Oxigraph)
|
# - Layer 3: Integration tests (requires SSH tunnel to Oxigraph)
|
||||||
# - Layer 4: Comprehensive evaluation (nightly)
|
# - Layer 4: Comprehensive evaluation
|
||||||
|
|
||||||
name: DSPy RAG Evaluation
|
name: DSPy RAG Evaluation
|
||||||
|
|
||||||
|
|
@ -93,9 +93,6 @@ jobs:
|
||||||
timeout-minutes: 20
|
timeout-minutes: 20
|
||||||
needs: unit-tests
|
needs: unit-tests
|
||||||
|
|
||||||
# Run on PRs, scheduled runs, or manual triggers
|
|
||||||
if: github.event_name == 'pull_request' || github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: https://github.com/actions/checkout@v4
|
- uses: https://github.com/actions/checkout@v4
|
||||||
|
|
||||||
|
|
@ -197,7 +194,7 @@ jobs:
|
||||||
path: layer3-results.xml
|
path: layer3-results.xml
|
||||||
|
|
||||||
# ==========================================================================
|
# ==========================================================================
|
||||||
# Layer 4: Comprehensive Evaluation (nightly only)
|
# Layer 4: Comprehensive Evaluation
|
||||||
# ==========================================================================
|
# ==========================================================================
|
||||||
comprehensive-eval:
|
comprehensive-eval:
|
||||||
name: Layer 4 - Comprehensive Evaluation
|
name: Layer 4 - Comprehensive Evaluation
|
||||||
|
|
@ -205,9 +202,6 @@ jobs:
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
needs: [unit-tests, dspy-module-tests, integration-tests]
|
needs: [unit-tests, dspy-module-tests, integration-tests]
|
||||||
|
|
||||||
# Only run on schedule or manual trigger with 'comprehensive'
|
|
||||||
if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.evaluation_level == 'comprehensive')
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: https://github.com/actions/checkout@v4
|
- uses: https://github.com/actions/checkout@v4
|
||||||
|
|
||||||
|
|
@ -295,7 +289,7 @@ jobs:
|
||||||
quality-gate:
|
quality-gate:
|
||||||
name: Quality Gate
|
name: Quality Gate
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [unit-tests, dspy-module-tests, integration-tests]
|
needs: [unit-tests, dspy-module-tests, integration-tests, comprehensive-eval]
|
||||||
if: always()
|
if: always()
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
@ -303,30 +297,35 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
echo "Checking quality gates..."
|
echo "Checking quality gates..."
|
||||||
|
|
||||||
# Layer 1 (unit tests) is always required
|
# Layer 1 (unit tests) is required
|
||||||
if [[ "${{ needs.unit-tests.result }}" != "success" ]]; then
|
if [[ "${{ needs.unit-tests.result }}" != "success" ]]; then
|
||||||
echo "Layer 1 (Unit Tests) failed"
|
echo "❌ Layer 1 (Unit Tests) failed"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "Layer 1 (Unit Tests) passed"
|
echo "✅ Layer 1 (Unit Tests) passed"
|
||||||
|
|
||||||
# Layer 2 (DSPy module tests) required for PRs
|
# Layer 2 (DSPy module tests) is required
|
||||||
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
|
|
||||||
if [[ "${{ needs.dspy-module-tests.result }}" != "success" ]]; then
|
if [[ "${{ needs.dspy-module-tests.result }}" != "success" ]]; then
|
||||||
echo "Layer 2 (DSPy Module Tests) failed - required for PRs"
|
echo "❌ Layer 2 (DSPy Module Tests) failed"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "Layer 2 (DSPy Module Tests) passed"
|
echo "✅ Layer 2 (DSPy Module Tests) passed"
|
||||||
fi
|
|
||||||
|
|
||||||
# Layer 3 (integration tests) is warning-only for now
|
# Layer 3 (integration tests) is required
|
||||||
if [[ "${{ needs.integration-tests.result }}" != "success" ]]; then
|
if [[ "${{ needs.integration-tests.result }}" != "success" ]]; then
|
||||||
echo "Warning: Layer 3 (Integration Tests) failed - non-blocking"
|
echo "❌ Layer 3 (Integration Tests) failed"
|
||||||
else
|
exit 1
|
||||||
echo "Layer 3 (Integration Tests) passed"
|
|
||||||
fi
|
fi
|
||||||
|
echo "✅ Layer 3 (Integration Tests) passed"
|
||||||
|
|
||||||
|
# Layer 4 (comprehensive evaluation) is required
|
||||||
|
if [[ "${{ needs.comprehensive-eval.result }}" != "success" ]]; then
|
||||||
|
echo "❌ Layer 4 (Comprehensive Evaluation) failed"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "✅ Layer 4 (Comprehensive Evaluation) passed"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "============================================"
|
echo "============================================"
|
||||||
echo " All required quality gates passed!"
|
echo " All quality gates passed!"
|
||||||
echo "============================================"
|
echo "============================================"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue