Skip to content

ci: consolidate 8 tiny integration matrix groups into 4 (31→23 jobs)#17175

Merged
pelikhan merged 2 commits intomainfrom
copilot/consolidate-integration-matrix-groups
Feb 20, 2026
Merged

ci: consolidate 8 tiny integration matrix groups into 4 (31→23 jobs)#17175
pelikhan merged 2 commits intomainfrom
copilot/consolidate-integration-matrix-groups

Conversation

Copy link
Contributor

Copilot AI commented Feb 20, 2026

Many integration matrix groups had <2s test durations but ~2min setup overhead each (checkout, setup-go, deps, build). Merging the shortest groups cuts 8 jobs per CI run, saving ~16 min of runner time with no wall-clock impact.

Consolidations

New Group Merged From Savings
CLI MCP Connectivity CLI MCP Playwright + CLI MCP Gateway 1 job
CLI Audit Logs & Firewall CLI Audit & Inspect + CLI Logs & Firewall 1 job
Workflow Features Workflow Safe Outputs + Workflow GitHub & Git + Workflow Misc Part 1 2 jobs
Workflow Infra Workflow Cache + Workflow Permissions + Workflow Dependabot & Security + Workflow Runtime & Setup + Workflow String & Sanitization 4 jobs

The catch-all groups (CLI Completion & Other, Workflow Misc Part 2) skip_patterns are unchanged — all existing test patterns remain covered.

Original prompt

This section details on the original issue you should resolve

<issue_title>[ci-coach] ci: consolidate 8 tiny integration matrix groups into 4</issue_title>
<issue_description>Reduces the integration test matrix from 31 to 23 parallel jobs by merging short-duration groups that spend more time on job setup than actual testing.

Background

Analysis of recent CI artifacts (run §22222481551) showed many integration matrix groups with extremely short actual test durations (<2s), but each requiring ~2 minutes of setup overhead (checkout, setup-go, dependency download, binary build). Consolidating these saves significant runner time without affecting wall clock duration.

Changes

1. CLI MCP Connectivity (saves 1 job)

Merged: CLI MCP Playwright (~1.0s) + CLI MCP Gateway (~0.6s) → CLI MCP Connectivity
New combined pattern: TestMCPInspectPlaywright|TestMCPGateway

2. CLI Audit Logs & Firewall (saves 1 job)

Merged: CLI Audit & Inspect (~0.7s) + CLI Logs & Firewall (~0.7s) → CLI Audit Logs & Firewall
New combined pattern: TestLogs|TestFirewall|TestNoStopTime|TestLocalWorkflow|^TestAudit|^TestInspect

3. Workflow Features (saves 2 jobs)

Merged: Workflow Safe Outputs (~0.4s) + Workflow GitHub & Git (~1.0s) + Workflow Misc Part 1 (~0.5s) → Workflow Features
New combined pattern: SafeOutputs|CreatePullRequest|OutputLabel|HasSafeOutputs|GitHub|Git|PushToPullRequest|BuildFromAllowed|TestAgent|TestCopilot|TestCustom|TestEngine|TestModel|TestNetwork|TestOpenAI|TestProvider

4. Workflow Infra (saves 4 jobs)

Merged: Workflow Cache (~0.2s) + Workflow Permissions (~0.2s) + Workflow Dependabot & Security (~0.1s) + Workflow Runtime & Setup (~0.2s) + Workflow String & Sanitization (~1.7s) → Workflow Infra
New combined pattern: ^TestCache|TestCacheDependencies|TestCacheKey|TestValidateCache|TestPermissions|TestPackageExtractor|TestCollectPackagesFromWorkflow|Dependabot|Security|PII|Runtime|Setup|Install|Download|Version|Binary|String|Sanitize|Normalize|Trim|Clean|Format

Expected Impact

  • Runner jobs saved: 8 per CI run (31 → 23)
  • Estimated runner time saved: ~16 min/run (8 jobs × ~2 min setup each)
  • Wall clock impact: None — critical path is unchanged (CLI Docker Build at ~47s dominates)
  • Test coverage: Unchanged — all skip_patterns in catch-all groups remain valid

Safety Analysis

Skip-pattern verification

All merged patterns are already present in the respective catch-all skip_patterns:

CLI Completion & Other skip_pattern covers:

  • TestMCPInspectPlaywright, TestMCPGateway
  • TestLogs|TestFirewall|TestNoStopTime|TestLocalWorkflow
  • ^TestAudit|^TestInspect

Workflow Misc Part 2 skip_pattern covers:

  • SafeOutputs|CreatePullRequest|OutputLabel|HasSafeOutputs
  • GitHub|Git|PushToPullRequest|BuildFromAllowed
  • TestAgent|TestCopilot|TestCustom|TestEngine|TestModel|TestNetwork|TestOpenAI|TestProvider
  • ^TestCache|TestCacheDependencies|TestCacheKey|TestValidateCache
  • TestPermissions|TestPackageExtractor|TestCollectPackagesFromWorkflow
  • Dependabot|Security|PII
  • Runtime|Setup|Install|Download|Version|Binary
  • String|Sanitize|Normalize|Trim|Clean|Format

No tests will be orphaned or duplicated.

Test duration baseline (from CI run §22222481551)
Group Duration Disposition
CLI Docker Build 47.3s Kept isolated (slow)
CLI Progress Flag 31.0s Kept isolated (slow)
CLI HTTP MCP Connect 20.7s Kept isolated (slow)
CLI MCP Other 11.6s Kept isolated
CLI Completion & Other 9.5s Kept (catch-all)
CLI Compile & Poutine 9.5s Kept
CLI MCP Playwright 1.0s → Merged
CLI MCP Gateway 0.6s → Merged
CLI Logs & Firewall 0.7s → Merged
CLI Audit & Inspect 0.7s → Merged
Workflow Safe Outputs 0.4s → Merged
Workflow GitHub & Git 1.0s → Merged
Workflow Misc Part 1 0.5s → Merged
Workflow String & Sanitization 1.7s → Merged
Workflow Cache 0.2s → Merged
Workflow Permissions 0.2s → Merged
Workflow Dependabot & Security 0.1s → Merged
Workflow Runtime & Setup 0.2s → Merged

References: §22222481551

Generated by CI Optimization Coach

  • expires on Feb 22, 2026, 1:45 PM UTC

[!NOTE]
This was...


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
@pelikhan pelikhan marked this pull request as ready for review February 20, 2026 14:03
Copilot AI changed the title [WIP] Consolidate 8 integration matrix groups into 4 ci: consolidate 8 tiny integration matrix groups into 4 (31→23 jobs) Feb 20, 2026
Copilot AI review requested due to automatic review settings February 20, 2026 14:03
@pelikhan pelikhan merged commit fc8623c into main Feb 20, 2026
@pelikhan pelikhan deleted the copilot/consolidate-integration-matrix-groups branch February 20, 2026 14:03
Copilot AI requested a review from pelikhan February 20, 2026 14:03
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR consolidates the CI integration test matrix from 31 to 23 parallel jobs by merging 8 short-duration test groups into 4 consolidated groups. The consolidation targets groups with test durations under 2 seconds that spend more time on job setup overhead (~2 minutes) than actual testing, saving approximately 16 minutes of runner time per CI run.

Changes:

  • Merged CLI MCP Playwright and CLI MCP Gateway into "CLI MCP Connectivity"
  • Merged CLI Audit & Inspect and CLI Logs & Firewall into "CLI Audit Logs & Firewall"
  • Merged Workflow Safe Outputs, Workflow GitHub & Git, and Workflow Misc Part 1 into "Workflow Features"
  • Merged five small workflow groups (Cache, Permissions, Dependabot & Security, Runtime & Setup, String & Sanitization) into "Workflow Infra"
Comments suppressed due to low confidence (1)

.github/workflows/ci.yml:175

  • The pattern includes "TestMCPGateway" which does not match any integration tests in pkg/cli. A search of integration test files shows no test functions starting with TestMCPGateway. The only Gateway-related tests (TestGateway*, TestParseGatewayLogs, etc.) are in gateway_logs_test.go which has the build tag "!integration", making them unit tests that won't run in this integration test matrix.
            pattern: "TestMCPInspectPlaywright|TestMCPGateway"

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- name: "CLI Audit Logs & Firewall"
packages: "./pkg/cli"
pattern: "TestLogs|TestFirewall|TestNoStopTime|TestLocalWorkflow"
pattern: "TestLogs|TestFirewall|TestNoStopTime|TestLocalWorkflow|^TestAudit|^TestInspect"
Copy link

Copilot AI Feb 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pattern includes "^TestInspect" which does not match any integration tests in pkg/cli. A search of all integration test files in pkg/cli shows no test functions starting with TestInspect. This pattern will not match any tests and should be removed to avoid confusion.

This issue also appears on line 175 of the same file.

Suggested change
pattern: "TestLogs|TestFirewall|TestNoStopTime|TestLocalWorkflow|^TestAudit|^TestInspect"
pattern: "TestLogs|TestFirewall|TestNoStopTime|TestLocalWorkflow|^TestAudit"

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ci-coach] ci: consolidate 8 tiny integration matrix groups into 4

3 participants