-
Notifications
You must be signed in to change notification settings - Fork 50
Description
CI Optimization - Critical Coverage Gap + Matrix Cleanup
This PR addresses a critical test coverage gap discovered during automated CI analysis, along with efficiency improvements to the integration test matrix.
🚨 Critical Finding: Missing Test Coverage
Issue: Integration tests for ./pkg/awmg package were NOT being executed in CI
Impact:
- 3 integration test files with MCP gateway tests were completely untested
- Production code may have regressions in MCP gateway functionality
Files affected:
./pkg/awmg/gateway_integration_test.go./pkg/awmg/gateway_streamable_http_test.go./pkg/awmg/gateway_inspect_integration_test.go
Fix: ✅ Added matrix entry "AWMG Gateway Tests" to execute all awmg integration tests
🧹 Optimization: Matrix Cleanup
Issue: Empty test groups wasting CI slots
Groups removed (0 tests each):
- "Workflow Expression & Safety" - pattern matched no existing tests
- "Workflow Job Management" - pattern matched no existing tests
Fix: ✅ Removed 2 empty groups from integration matrix
📊 Matrix Balance Analysis
Current state after optimizations:
- Total matrix groups: 32 (was 33)
- Removed 2 empty groups
- Added 1 new group (awmg)
- Coverage improvement: 100% of awmg tests now executed
- Time impact: +3-5 seconds for new awmg tests (acceptable for critical coverage)
Notable slow groups (documented for future optimization):
- CLI Progress Flag: ~65s (
TestProgressFlagSignature) - CLI HTTP MCP Connect: ~43s (
TestConnectHTTPMCPServer)
Added inline comments in CI config to document these slow tests for future performance work.
✅ Changes Made
.github/workflows/ci.yml
- Line 169-171: Added "AWMG Gateway Tests" matrix entry for
./pkg/awmgpackage - Line 87-89: Added comment noting CLI Progress Flag slow test (~65s)
- Line 91-93: Added comment noting CLI HTTP MCP Connect slow tests (~43s)
- Removed: "Workflow Expression & Safety" group (no matching tests)
- Removed: "Workflow Job Management" group (no matching tests)
- Updated: Skip pattern in "Workflow Misc Part 2" catch-all to reflect removed groups
📈 Impact Summary
| Metric | Before | After | Change |
|---|---|---|---|
| Matrix groups | 33 | 32 | -1 (net) |
| Empty groups | 2 | 0 | -2 ✅ |
| Packages covered | 4 | 5 | +1 ✅ |
| AWMG test coverage | 0% | 100% | +100% 🎯 |
| Time per run | baseline | +3-5s | Small cost for critical coverage |
🔍 Analysis Methodology
This optimization was discovered through:
- Test coverage analysis: Scanned all integration test files vs. CI matrix packages
- Timing analysis: Analyzed last 100 CI runs and integration test artifacts
- Pattern matching: Identified groups with no matching tests (0.0s duration)
- Gap detection: Found
./pkg/awmgpackage with integration tests but no CI coverage
Data analyzed:
- 100 recent CI workflow runs
- 714 total test files (43 integration, 671 unit)
- 33 integration matrix groups (timing data from artifacts)
🎯 Risk Assessment
Risk Level: Very Low
✅ Added coverage is critical - MCP gateway tests were previously untested
✅ Removed groups are safe - confirmed 0 tests matched their patterns
✅ No test logic changes - only matrix grouping modified
✅ Documented slow tests - for future optimization without changing behavior
🧪 Testing Plan
- Monitor first CI run to verify awmg tests execute correctly
- Confirm no tests are missed by empty group removal
- Validate new awmg group completes in reasonable time (<10s expected)
- Check that slow test comments are visible in GitHub Actions UI
📚 Related Work
- Previous optimization (Run gh add: better tracking of added/modified files #34): Fixed duplicate test execution (60s savings)
- This optimization (Run #37): Fixed coverage gap + removed empty groups
🔮 Future Optimization Opportunities
Documented but not addressed in this PR:
- TestProgressFlagSignature (~65s) - Consider mocking or optimizing
- TestConnectHTTPMCPServer (~43s) - Consider splitting into smaller cases
- Matrix rebalancing - Could split slow groups for better parallelization
These are marked with inline comments in the CI config for future work.
Metrics Baseline (for future comparison):
- Total CI runs analyzed: 100
- Success rate: 35%
- Average integration group time: 10.8s
- Longest group: CLI Progress Flag (65.3s)
References:
AI generated by CI Optimization Coach
Note
This was originally intended as a pull request, but the git push operation failed.
Workflow Run: View run details and download patch artifact
The patch file is available as an artifact (aw.patch) in the workflow run linked above.
To apply the patch locally:
# Download the artifact from the workflow run https://github.com/githubnext/gh-aw/actions/runs/20646567298
# (Use GitHub MCP tools if gh CLI is not available)
gh run download 20646567298 -n aw.patch
# Apply the patch
git am aw.patchShow patch preview (62 of 62 lines)
From 7032c9b862df4e8c9d39d80bb21daa30625c5a0b Mon Sep 17 00:00:00 2001
From: CI Coach <ci-coach@github.com>
Date: Thu, 1 Jan 2026 22:29:18 +0000
Subject: [PATCH] Fix missing awmg integration test coverage and optimize CI
matrix
- Add matrix entry for ./pkg/awmg integration tests (3 test files previously untested)
- Remove 2 empty test groups (Workflow Expression & Safety, Workflow Job Management)
- Document slow test groups with inline comments for future optimization
- Update skip pattern in Workflow Misc Part 2 catch-all
Impact: Critical coverage gap fixed, 100% of awmg tests now executed
---
.github/workflows/ci.yml | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 211e223..ec5ba8d 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -86,10 +86,10 @@ jobs:
pattern: "TestLogs|TestFirewall|TestNoStopTime|TestLocalWorkflow"
- name: "CLI Progress Flag" # Isolate slow 30s test
packages: "./pkg/cli"
- pattern: "TestProgressFlagSignature"
+ pattern: "TestProgressFlagSignature" # NOTE: This test takes ~65s - consider optimizing or mocking
- name: "CLI HTTP MCP Connect" # Isolate slow HTTP MCP connection tests
packages: "./pkg/cli"
- pattern: "TestConnectHTTPMCPServer"
+ pattern: "TestConnectHTTPMCPServer" # NOTE: This group takes ~43s - consider splitting or optimizing
- name: "CLI Compile Workflows" # Isolate slow workflow compilation test
packages: "./pkg/cli"
pattern: "TestCompileWorkflows_EmptyMarkdown"
@@ -153,12 +153,6 @@ jobs:
- name: "Workflow Permissions"
packages: "./pkg/workflow"
pattern: "TestPermissions|TestPackageExtractor|TestCollectPackagesFromWorkflow"
- - name: "Workflow Expression & Safety"
- packages: "./pkg/workflow"
- pattern
... (truncated)