Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions pkg/cli/git_helpers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ func TestParseGitHubRepoSlugFromURL(t *testing.T) {
{
name: "HTTPS URL with .git",
url: "https://github.com/github/gh-aw.git",
expected: "githubnext/gh-aw",
expected: "github/gh-aw",
},
{
name: "HTTPS URL without .git",
url: "https://github.com/github/gh-aw",
expected: "githubnext/gh-aw",
expected: "github/gh-aw",
},
{
name: "SSH URL with .git",
Expand Down
6 changes: 3 additions & 3 deletions pkg/cli/spec_github_url_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ func TestParseGitHubURL(t *testing.T) {
{
name: "blob URL with main branch",
url: "https://github.com/github/gh-aw-trial/blob/main/workflows/release-issue-linker.md",
wantRepo: "githubnext/gh-aw-trial",
wantRepo: "github/gh-aw-trial",
wantWorkflowPath: "workflows/release-issue-linker.md",
wantWorkflowName: "release-issue-linker",
wantVersion: "main",
Expand Down Expand Up @@ -72,7 +72,7 @@ func TestParseGitHubURL(t *testing.T) {
{
name: "raw.githubusercontent.com with refs/heads/branch",
url: "https://raw.githubusercontent.com/github/gh-aw/refs/heads/main/.github/workflows/shared/mcp/serena.md",
wantRepo: "githubnext/gh-aw",
wantRepo: "github/gh-aw",
wantWorkflowPath: ".github/workflows/shared/mcp/serena.md",
wantWorkflowName: "serena",
wantVersion: "main",
Expand All @@ -81,7 +81,7 @@ func TestParseGitHubURL(t *testing.T) {
{
name: "raw.githubusercontent.com with commit SHA",
url: "https://raw.githubusercontent.com/github/gh-aw/fc7992627494253a869e177e5d1985d25f3bb316/.github/workflows/shared/mcp/serena.md",
wantRepo: "githubnext/gh-aw",
wantRepo: "github/gh-aw",
wantWorkflowPath: ".github/workflows/shared/mcp/serena.md",
wantWorkflowName: "serena",
wantVersion: "fc7992627494253a869e177e5d1985d25f3bb316",
Expand Down
2 changes: 1 addition & 1 deletion pkg/cli/spec_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ func TestParseWorkflowSpec(t *testing.T) {
{
name: "GitHub URL - blob with main branch",
spec: "https://github.com/github/gh-aw-trial/blob/main/workflows/release-issue-linker.md",
wantRepo: "githubnext/gh-aw-trial",
wantRepo: "github/gh-aw-trial",
wantWorkflowPath: "workflows/release-issue-linker.md",
wantWorkflowName: "release-issue-linker",
wantVersion: "main",
Expand Down
8 changes: 4 additions & 4 deletions pkg/parser/github_urls_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ func TestParseGitHubURL_FileURLs(t *testing.T) {
name: "Blob URL with main branch",
url: "https://github.com/github/gh-aw-trial/blob/main/workflows/release-issue-linker.md",
wantType: URLTypeBlob,
wantOwner: "githubnext",
wantOwner: "github",
wantRepo: "gh-aw-trial",
wantRef: "main",
wantPath: "workflows/release-issue-linker.md",
Expand Down Expand Up @@ -229,7 +229,7 @@ func TestParseGitHubURL_FileURLs(t *testing.T) {
name: "Raw githubusercontent with refs/heads/branch",
url: "https://raw.githubusercontent.com/github/gh-aw/refs/heads/main/.github/workflows/shared/mcp/serena.md",
wantType: URLTypeRawContent,
wantOwner: "githubnext",
wantOwner: "github",
wantRepo: "gh-aw",
wantRef: "main",
wantPath: ".github/workflows/shared/mcp/serena.md",
Expand All @@ -239,7 +239,7 @@ func TestParseGitHubURL_FileURLs(t *testing.T) {
name: "Raw githubusercontent with commit SHA",
url: "https://raw.githubusercontent.com/github/gh-aw/fc7992627494253a869e177e5d1985d25f3bb316/.github/workflows/shared/mcp/serena.md",
wantType: URLTypeRawContent,
wantOwner: "githubnext",
wantOwner: "github",
wantRepo: "gh-aw",
wantRef: "fc7992627494253a869e177e5d1985d25f3bb316",
wantPath: ".github/workflows/shared/mcp/serena.md",
Expand Down Expand Up @@ -473,7 +473,7 @@ func TestParseRunURL(t *testing.T) {
name: "Job URL with step fragment (no line)",
input: "https://github.com/github/gh-aw/actions/runs/20623556740/job/59230494223#step:7",
wantRunID: 20623556740,
wantOwner: "githubnext",
wantOwner: "github",
wantRepo: "gh-aw",
wantHost: "github.com",
wantJobID: 59230494223,
Expand Down
2 changes: 1 addition & 1 deletion pkg/repoutil/repoutil_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ func TestParseGitHubURL(t *testing.T) {
{
name: "HTTPS format with .git",
url: "https://github.com/github/gh-aw.git",
expectedOwner: "githubnext",
expectedOwner: "github",
expectedRepo: "gh-aw",
expectError: false,
},
Expand Down
8 changes: 4 additions & 4 deletions pkg/workflow/importable_tools_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ Uses imported serena tool.
}

// Verify serena container (now using Docker instead of uvx)
if !strings.Contains(workflowData, "ghcr.io/githubnext/serena-mcp-server:latest") {
if !strings.Contains(workflowData, "ghcr.io/github/serena-mcp-server:latest") {
t.Error("Expected compiled workflow to contain serena Docker container")
}

Expand Down Expand Up @@ -321,7 +321,7 @@ Uses all imported tools.
if !strings.Contains(workflowData, "mcr.microsoft.com/playwright/mcp") {
t.Error("Expected compiled workflow to contain playwright Docker image")
}
if !strings.Contains(workflowData, "ghcr.io/githubnext/serena-mcp-server:latest") {
if !strings.Contains(workflowData, "ghcr.io/github/serena-mcp-server:latest") {
t.Error("Expected compiled workflow to contain serena Docker container")
}
if !strings.Contains(workflowData, "example.com") {
Expand Down Expand Up @@ -405,7 +405,7 @@ Uses imported serena with language config.
}

// Verify serena container is present
if !strings.Contains(workflowData, "ghcr.io/githubnext/serena-mcp-server") {
if !strings.Contains(workflowData, "ghcr.io/github/serena-mcp-server") {
t.Error("Expected serena to use Docker container")
}
}
Expand Down Expand Up @@ -1015,7 +1015,7 @@ Uses imported serena in local mode.
}

// Verify NO container is used
if strings.Contains(workflowData, "ghcr.io/githubnext/serena-mcp-server:latest") {
if strings.Contains(workflowData, "ghcr.io/github/serena-mcp-server:latest") {
t.Error("Did not expect serena local mode to use Docker container")
}
}
Expand Down
14 changes: 7 additions & 7 deletions pkg/workflow/mcp_config_comprehensive_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -576,7 +576,7 @@ func TestRenderSerenaMCPConfigWithOptions(t *testing.T) {
inlineArgs: false,
expectedContent: []string{
`"serena": {`,
`"container": "ghcr.io/githubnext/serena-mcp-server:latest"`,
`"container": "ghcr.io/github/serena-mcp-server:latest"`,
`"entrypoint": "serena"`,
`"entrypointArgs"`,
`"start-mcp-server"`,
Expand All @@ -595,7 +595,7 @@ func TestRenderSerenaMCPConfigWithOptions(t *testing.T) {
inlineArgs: false,
expectedContent: []string{
`"serena": {`,
`"container": "ghcr.io/githubnext/serena-mcp-server:latest"`,
`"container": "ghcr.io/github/serena-mcp-server:latest"`,
` }`,
},
unexpectedContent: []string{
Expand All @@ -613,7 +613,7 @@ func TestRenderSerenaMCPConfigWithOptions(t *testing.T) {
expectedContent: []string{
`"serena": {`,
`"type": "stdio"`,
`"container": "ghcr.io/githubnext/serena-mcp-server:latest"`,
`"container": "ghcr.io/github/serena-mcp-server:latest"`,
},
unexpectedContent: []string{},
},
Expand All @@ -626,7 +626,7 @@ func TestRenderSerenaMCPConfigWithOptions(t *testing.T) {
expectedContent: []string{
`"serena": {`,
`"type": "stdio"`,
`"container": "ghcr.io/githubnext/serena-mcp-server:latest"`,
`"container": "ghcr.io/github/serena-mcp-server:latest"`,
`"entrypointArgs": ["start-mcp-server", "--context", "codex", "--project", "${{ github.workspace }}"]`,
},
unexpectedContent: []string{},
Expand All @@ -641,7 +641,7 @@ func TestRenderSerenaMCPConfigWithOptions(t *testing.T) {
inlineArgs: false,
expectedContent: []string{
`"serena": {`,
`"container": "ghcr.io/githubnext/serena-mcp-server:latest"`,
`"container": "ghcr.io/github/serena-mcp-server:latest"`,
`"--verbose"`,
`"--debug"`,
},
Expand Down Expand Up @@ -1163,7 +1163,7 @@ func TestRenderSerenaMCPConfigLocalMode(t *testing.T) {
expectedContent: []string{
`"serena": {`,
`"type": "stdio"`,
`"container": "ghcr.io/githubnext/serena-mcp-server:latest"`,
`"container": "ghcr.io/github/serena-mcp-server:latest"`,
},
unexpectedContent: []string{
`"url"`,
Expand All @@ -1183,7 +1183,7 @@ func TestRenderSerenaMCPConfigLocalMode(t *testing.T) {
expectedContent: []string{
`"serena": {`,
`"type": "stdio"`,
`"container": "ghcr.io/githubnext/serena-mcp-server:latest"`,
`"container": "ghcr.io/github/serena-mcp-server:latest"`,
},
unexpectedContent: []string{
`"url"`,
Expand Down
2 changes: 1 addition & 1 deletion pkg/workflow/mcp_config_serena_renderer.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ func selectSerenaContainer(serenaTool any) string {

// renderSerenaMCPConfigWithOptions generates the Serena MCP server configuration with engine-specific options
// Supports two modes:
// - "docker" (default): Uses Docker container with stdio transport (ghcr.io/githubnext/serena-mcp-server:latest)
// - "docker" (default): Uses Docker container with stdio transport (ghcr.io/github/serena-mcp-server:latest)
// - "local": Uses local uvx with HTTP transport on fixed port
func renderSerenaMCPConfigWithOptions(yaml *strings.Builder, serenaTool any, isLast bool, includeCopilotFields bool, inlineArgs bool) {
customArgs := getSerenaCustomArgs(serenaTool)
Expand Down
Loading
Loading