Skip to content

Add Go support to Azure Functions templates - #3186

Open
harshivcodes wants to merge 2 commits into
microsoft:mainfrom
harshivcodes:hakkaraj/functions-go-support
Open

Add Go support to Azure Functions templates#3186
harshivcodes wants to merge 2 commits into
microsoft:mainfrom
harshivcodes:hakkaraj/functions-go-support

Conversation

@harshivcodes

Copy link
Copy Markdown

What does this PR do?

Adds Go support to the Azure Functions MCP tools, including language metadata, project guidance, template discovery, and tests.

GitHub issue number?

N/A

Pre-merge Checklist

  • Required for All PRs
    • Read contribution guidelines
    • PR title clearly describes the change
    • Commit history is clean with descriptive messages
    • Added comprehensive tests for new/modified functionality
  • For MCP tool changes:
    • One tool per PR: This PR modifies only the Azure Functions MCP tool

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

@github-actions

Copy link
Copy Markdown
Contributor

Thank you for your contribution @harshivcodes! We will review the pull request and get back to you soon.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds Go language support to the Azure Functions tool’s language/template experience by extending the language metadata model, updating merge guidance, and expanding unit/live test coverage to include the new language.

Changes:

  • Added Go as a supported language, including runtime/version metadata and Go project file detection (go.mod, go.sum).
  • Updated template “Add mode” merge instructions and file classification so Go templates are split into function vs. project files appropriately.
  • Expanded unit and live tests to validate Go language listing, template retrieval, and project template behavior.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tools/Azure.Mcp.Tools.Functions/src/Models/SupportedLanguages.cs Adds Go to the supported language enum.
tools/Azure.Mcp.Tools.Functions/src/Services/LanguageMetadataProvider.cs Adds Go manifest key mapping, static metadata, fallback runtime version info, and known project file support for Go.
tools/Azure.Mcp.Tools.Functions/src/Services/FunctionsService.cs Updates “Add mode” merge guidance and placement instructions to include Go.
tools/Azure.Mcp.Tools.Functions/tests/Azure.Mcp.Tools.Functions.Tests/Services/FunctionsServiceTests.cs Adds unit tests for Go language metadata and known project files.
tools/Azure.Mcp.Tools.Functions/tests/Azure.Mcp.Tools.Functions.Tests/Services/FunctionsServiceHttpTests.cs Adds HTTP test validating Go add-mode merge guidance and file splitting.
tools/Azure.Mcp.Tools.Functions/tests/Azure.Mcp.Tools.Functions.Tests/Project/ProjectGetCommandTests.cs Expands coverage to ensure project template retrieval works for Go.
tools/Azure.Mcp.Tools.Functions/tests/Azure.Mcp.Tools.Functions.Tests/Language/LanguageListCommandTests.cs Updates runtime version test data and assertions to include Go.
tools/Azure.Mcp.Tools.Functions/tests/Azure.Mcp.Tools.Functions.Tests/FunctionsCommandTests.cs Updates live/recorded expectations to include Go and preview-only runtime versions.

Comment thread tools/Azure.Mcp.Tools.Functions/src/Services/LanguageMetadataProvider.cs Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants