Skip to content
This repository was archived by the owner on Sep 4, 2025. It is now read-only.

Conversation

anuchandy
Copy link
Member

@anuchandy anuchandy commented Aug 9, 2025

What does this PR do?

[Provide a clear, concise description of the changes]

Add Native AOT build verification to CI to catch compatibility issues on PRs.

image

[Any additional context, screenshots, or information that helps reviewers]

GitHub issue number?

[Link to the GitHub issue this PR addresses]

Pre-merge Checklist

  • Required for All PRs
    • Read contribution guidelines
    • PR title clearly describes the change
    • Commit history is clean with descriptive messages (cleanup guide)
    • Added comprehensive tests for new/modified functionality
    • Updated CHANGELOG.md for product changes (features, bug fixes, UI/UX, updated dependencies)
    • Spelling check passes: .\eng\common\spelling\Invoke-Cspell.ps1
  • For MCP tool changes:
    • Updated README.md documentation
    • Updated command list in /docs/azmcp-commands.md
    • Updated test prompts in /e2eTests/e2eTestPrompts.md
    • For new or modified tool descriptions, ran the eng/tools/ToolDescriptionConfidenceScore tool and obtained a result >= 0.4
  • 👉 For Community (non-Azure team member) PRs:
    • Security review: Reviewed code for security vulnerabilities, malicious code, or suspicious activities before running tests (crypto mining, spam, data exfiltration, etc.)
    • Manual tests run: added comment /azp run azure - mcp to run Live Test Pipeline

@anuchandy anuchandy changed the title Add native aot compile verification (only on linux arm64) Add native AOT compile verification (only on linux arm64) Aug 9, 2025
@anuchandy anuchandy self-assigned this Aug 9, 2025
@anuchandy anuchandy force-pushed the aot-build-verify-ci branch from b24ad4e to 2ab8862 Compare August 10, 2025 22:10
@anuchandy anuchandy changed the title Add native AOT compile verification (only on linux arm64) Add native AOT compile verification (on linux x64) Aug 10, 2025
@anuchandy anuchandy marked this pull request as ready for review August 10, 2025 22:21
@Copilot Copilot AI review requested due to automatic review settings August 10, 2025 22:21
@anuchandy anuchandy requested review from a team as code owners August 10, 2025 22:21
Copilot

This comment was marked as outdated.

Copy link
Member

@vcolin7 vcolin7 left a comment

Choose a reason for hiding this comment

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

LGTM, but maybe we should get @hallipr or @weshaggard to take a look before merging.

@weshaggard
Copy link
Member

What is different between this and "Run AOT Compatibility Analysis"? Aren't they both trying to do this analysis?

@anuchandy
Copy link
Member Author

What is different between this and "Run AOT Compatibility Analysis"? Aren't they both trying to do this analysis?

@weshaggard, the main difference is -

  1. The AOT analysis step does not produce the native binary but run analyzer. This analyzer runs on the "entire code base" and report warnings, without blocking any pr.
  2. The AOT build step runs analyzer and attempt to build the native binary. The build step runs on "subset of code base", which authors marked as AOT safe (via BUILD_NATIVE block and conditional), and make sure it’s really AOT safe else block the pr.

So, while 1 let’s know the entire state of the repro without failing but as warnings, the 2 ensure the areas marked to ship as AOT is really safe or fail the pr otherwise.

The plan is to ship the "native binary" (for the subset of AOT safe areas) side-by-side with the .NET-based one for dogfooding. Once the entire repo is AOT-safe, we'll ship only the native binary (as mentioned in Josh’s email last Friday). This PR is the first step toward that goal.

Copy link
Contributor

@Copilot 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 adds Native AOT (Ahead-of-Time) compilation verification to the CI pipeline to catch compatibility issues early. The verification runs on Linux x64 during PR builds to ensure the codebase remains AOT-compatible.

  • Adds a new build step in the CI pipeline that performs Native AOT compilation
  • Modifies the build script to support Native AOT builds and clean up artifacts
  • Includes build artifact cleanup to ensure clean builds

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
eng/scripts/Build-Module.ps1 Refactors project path variables and adds cleanup of build artifacts
eng/pipelines/templates/jobs/build.yml Adds new Native AOT build verification step to the CI pipeline

@anuchandy anuchandy changed the title Add native AOT compile verification (on linux x64) Add native AOT compile verification Aug 11, 2025
@anuchandy anuchandy force-pushed the aot-build-verify-ci branch from 3faf0a6 to 1aa7b06 Compare August 11, 2025 20:58
@anuchandy anuchandy force-pushed the aot-build-verify-ci branch from 1aa7b06 to 33c5072 Compare August 11, 2025 21:10
@github-project-automation github-project-automation bot moved this from Untriaged to In Progress in Azure MCP Server (OLD) Aug 11, 2025
@anuchandy anuchandy enabled auto-merge (squash) August 11, 2025 21:18
@anuchandy anuchandy merged commit 377fbff into Azure:main Aug 11, 2025
26 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in Azure MCP Server (OLD) Aug 11, 2025
chidozieononiwu pushed a commit to chidozieononiwu/azure-mcp that referenced this pull request Aug 18, 2025
* Add native aot compile verification (only on linux arm64)

* compile on all arch, use temp dir

* add clean-build param
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants