|
22 | 22 | run: npm ci |
23 | 23 |
|
24 | 24 | - name: Setup environment variables |
25 | | - run: cp .env.example .env |
| 25 | + run: | |
| 26 | + if [ ! -f .env.example ]; then |
| 27 | + echo "❌ ERROR: .env.example file is missing!" |
| 28 | + echo "This file must exist with FORK_BLOCK_NUMBER_* variables for deterministic coverage." |
| 29 | + exit 1 |
| 30 | + fi |
| 31 | + cp .env.example .env |
| 32 | + echo "✅ Copied .env.example to .env" |
| 33 | + echo "📋 Fork block numbers configured:" |
| 34 | + grep "FORK_BLOCK_NUMBER" .env | head -10 || echo " ⚠️ No FORK_BLOCK_NUMBER variables found in .env.example" |
26 | 35 |
|
27 | 36 | - name: Get baseline from main branch |
28 | 37 | run: | |
|
75 | 84 | echo "🔍 COVERAGE VALIDATION" |
76 | 85 | echo "==================================================" |
77 | 86 |
|
| 87 | + # Diagnostic: Show environment setup |
| 88 | + echo "" |
| 89 | + echo "📋 Environment Diagnostics:" |
| 90 | + echo " Node version: $(node --version)" |
| 91 | + echo " NPM version: $(npm --version)" |
| 92 | + if [ -f .env ]; then |
| 93 | + echo " .env file: EXISTS" |
| 94 | + echo " Fork block numbers in .env:" |
| 95 | + grep "FORK_BLOCK_NUMBER" .env | head -5 || echo " (none found)" |
| 96 | + else |
| 97 | + echo " .env file: MISSING" |
| 98 | + fi |
| 99 | + if [ -f .env.example ]; then |
| 100 | + echo " .env.example file: EXISTS" |
| 101 | + echo " Fork block numbers in .env.example:" |
| 102 | + grep "FORK_BLOCK_NUMBER" .env.example | head -5 || echo " (none found)" |
| 103 | + else |
| 104 | + echo " .env.example file: MISSING ⚠️" |
| 105 | + fi |
| 106 | + echo "" |
| 107 | +
|
78 | 108 | # Parse CI-generated coverage using dedicated script |
79 | 109 | CI_LINES=$(npx ts-node --files scripts/get-coverage-percentage.ts) |
80 | 110 |
|
|
98 | 128 | echo "" |
99 | 129 | echo " Expected: $PR_LINES% (from your committed coverage-baseline.json)" |
100 | 130 | echo " Actual: $CI_LINES% (from fresh CI coverage run)" |
| 131 | + echo " Difference: $(awk "BEGIN {printf \"%.2f\", $PR_LINES - $CI_LINES}")%" |
101 | 132 | echo "" |
102 | 133 | echo "💡 This means either:" |
103 | 134 | echo " 1. You forgot to run 'npm run coverage:update-baseline' locally" |
|
0 commit comments