diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 211e223b44..8932a6d7ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -84,10 +84,10 @@ jobs: - name: "CLI Logs & Firewall" packages: "./pkg/cli" pattern: "TestLogs|TestFirewall|TestNoStopTime|TestLocalWorkflow" - - name: "CLI Progress Flag" # Isolate slow 30s test + - name: "CLI Progress Flag" # Isolate slow test (~65s for TestProgressFlagSignature) packages: "./pkg/cli" pattern: "TestProgressFlagSignature" - - name: "CLI HTTP MCP Connect" # Isolate slow HTTP MCP connection tests + - name: "CLI HTTP MCP Connect" # Isolate slow HTTP MCP connection tests (~43s) packages: "./pkg/cli" pattern: "TestConnectHTTPMCPServer" - name: "CLI Compile Workflows" # Isolate slow workflow compilation test @@ -153,12 +153,6 @@ jobs: - name: "Workflow Permissions" packages: "./pkg/workflow" pattern: "TestPermissions|TestPackageExtractor|TestCollectPackagesFromWorkflow" - - name: "Workflow Expression & Safety" - packages: "./pkg/workflow" - pattern: "TestExpression|TestValidateExpressionSafety|TestCheckNetworkSupport|TestValidateStrictMCPNetwork" - - name: "Workflow Job Management" - packages: "./pkg/workflow" - pattern: "TestJobManager|TestWorkflowStep|TestScriptRegistry" - name: "Workflow Misc Part 1" # Split large catch-all into two balanced groups packages: "./pkg/workflow" pattern: "TestAgent|TestCopilot|TestCustom|TestEngine|TestModel|TestNetwork|TestOpenAI|TestProvider" @@ -171,7 +165,10 @@ jobs: - name: "Workflow Misc Part 2" # Remaining workflow tests packages: "./pkg/workflow" pattern: "" - skip_pattern: "TestCompile|TestWorkflow|TestGenerate|TestParse|TestMCP|TestTool|TestSkill|TestPlaywright|TestFirewall|TestValidat|TestLock|TestError|TestWarning|SafeOutputs|CreatePullRequest|OutputLabel|HasSafeOutputs|GitHub|Git|PushToPullRequest|BuildFromAllowed|Render|Bundle|Script|WritePromptText|^TestCache|TestCacheDependencies|TestCacheKey|TestValidateCache|^TestActionPinSHAsMatchVersionTags|^TestAction[^P]|Container|Dependabot|Security|PII|TestPermissions|TestPackageExtractor|TestCollectPackagesFromWorkflow|TestExpression|TestValidateExpressionSafety|TestCheckNetworkSupport|TestValidateStrictMCPNetwork|TestJobManager|TestWorkflowStep|TestScriptRegistry|TestAgent|TestCopilot|TestCustom|TestEngine|TestModel|TestNetwork|TestOpenAI|TestProvider|String|Sanitize|Normalize|Trim|Clean|Format|Runtime|Setup|Install|Download|Version|Binary" + skip_pattern: "TestCompile|TestWorkflow|TestGenerate|TestParse|TestMCP|TestTool|TestSkill|TestPlaywright|TestFirewall|TestValidat|TestLock|TestError|TestWarning|SafeOutputs|CreatePullRequest|OutputLabel|HasSafeOutputs|GitHub|Git|PushToPullRequest|BuildFromAllowed|Render|Bundle|Script|WritePromptText|^TestCache|TestCacheDependencies|TestCacheKey|TestValidateCache|^TestActionPinSHAsMatchVersionTags|^TestAction[^P]|Container|Dependabot|Security|PII|TestPermissions|TestPackageExtractor|TestCollectPackagesFromWorkflow|TestAgent|TestCopilot|TestCustom|TestEngine|TestModel|TestNetwork|TestOpenAI|TestProvider|String|Sanitize|Normalize|Trim|Clean|Format|Runtime|Setup|Install|Download|Version|Binary" + - name: "AWMG Gateway Tests" # MCP gateway integration tests + packages: "./pkg/awmg" + pattern: "" concurrency: group: ci-${{ github.ref }}-integration-${{ matrix.test-group.name }} cancel-in-progress: true diff --git a/pkg/awmg/gateway_inspect_integration_test.go b/pkg/awmg/gateway_inspect_integration_test.go index d9ad7e3bcf..8b7e3333d5 100644 --- a/pkg/awmg/gateway_inspect_integration_test.go +++ b/pkg/awmg/gateway_inspect_integration_test.go @@ -15,6 +15,7 @@ import ( "time" "github.com/githubnext/gh-aw/pkg/parser" + "github.com/githubnext/gh-aw/pkg/types" ) // TestMCPGateway_InspectWithPlaywright tests the MCP gateway by: @@ -70,8 +71,10 @@ This workflow tests the MCP gateway configuration and tool list. config := MCPGatewayServiceConfig{ MCPServers: map[string]parser.MCPServerConfig{ "gh-aw": { - Command: binaryPath, - Args: []string{"mcp-server"}, + BaseMCPServerConfig: types.BaseMCPServerConfig{ + Command: binaryPath, + Args: []string{"mcp-server"}, + }, }, }, Gateway: GatewaySettings{ diff --git a/pkg/awmg/gateway_integration_test.go b/pkg/awmg/gateway_integration_test.go index e7c0bfa16e..f0f46079d9 100644 --- a/pkg/awmg/gateway_integration_test.go +++ b/pkg/awmg/gateway_integration_test.go @@ -12,6 +12,7 @@ import ( "time" "github.com/githubnext/gh-aw/pkg/parser" + "github.com/githubnext/gh-aw/pkg/types" ) func TestMCPGateway_BasicStartup(t *testing.T) { @@ -28,8 +29,10 @@ func TestMCPGateway_BasicStartup(t *testing.T) { config := MCPGatewayServiceConfig{ MCPServers: map[string]parser.MCPServerConfig{ "gh-aw": { - Command: binaryPath, - Args: []string{"mcp-server"}, + BaseMCPServerConfig: types.BaseMCPServerConfig{ + Command: binaryPath, + Args: []string{"mcp-server"}, + }, }, }, Gateway: GatewaySettings{ diff --git a/pkg/awmg/gateway_streamable_http_test.go b/pkg/awmg/gateway_streamable_http_test.go index acb2236cc3..228733afdb 100644 --- a/pkg/awmg/gateway_streamable_http_test.go +++ b/pkg/awmg/gateway_streamable_http_test.go @@ -43,8 +43,10 @@ func TestStreamableHTTPTransport_GatewayConnection(t *testing.T) { config := MCPGatewayServiceConfig{ MCPServers: map[string]parser.MCPServerConfig{ "gh-aw": { - Command: binaryPath, - Args: []string{"mcp-server"}, + BaseMCPServerConfig: types.BaseMCPServerConfig{ + Command: binaryPath, + Args: []string{"mcp-server"}, + }, }, }, Gateway: GatewaySettings{ @@ -448,8 +450,10 @@ func TestStreamableHTTPTransport_GatewayWithSDKClient(t *testing.T) { config := MCPGatewayServiceConfig{ MCPServers: map[string]parser.MCPServerConfig{ "gh-aw": { - Command: binaryPath, - Args: []string{"mcp-server"}, + BaseMCPServerConfig: types.BaseMCPServerConfig{ + Command: binaryPath, + Args: []string{"mcp-server"}, + }, }, }, Gateway: GatewaySettings{