Skip to content

fix arm forever#47

Merged
anporumb merged 37 commits intomasterfrom
anporumb/fix_arm_forever
Jan 26, 2026
Merged

fix arm forever#47
anporumb merged 37 commits intomasterfrom
anporumb/fix_arm_forever

Conversation

@anporumb
Copy link

No description provided.

…guration

vcvarsall.bat only supports x86/amd64 host architectures. ARM64 builds work
because CMake auto-detects Hostarm64/arm64/cl.exe and MSBuild invoked via
SysNative uses the native ARM64 toolchain.
Instead of waiting for image rebuilds, patch the agent at pipeline start:
- Detects agent at C:\vss-agent\<version>
- Checks PE header for architecture
- Downloads matching ARM64 version if needed
- Extracts with overwrite, preserving config
- Only runs on ARM64 jobs
…ion step

- Add build/docs/ARM64-AGENT-PATCHING.md with full explanation of the problem,
  approaches tried, and current solution using 1ES provisioning script
- Update Setup.ps1 (v1.3.0) with detailed step-by-step documentation,
  log location, and troubleshooting info
- Remove runtime agent patching (cannot work - files locked by running agent)
- Replace with architecture verification step that fails with clear
  instructions if agent is not ARM64
With the 1ES provisioning script patching the agent to ARM64:
- No more WoW64 emulation to escape
- Standard vcvarsall works for all architectures
- Standard MSBuild task works for all architectures
- Removed escape-wow64.yml template
- Simplified setup-vcvars.yml and build-solution.yml
- Removed isArm64 flags from architecture definitions
- Changed vcvarsArg from 'arm64_arm64' to 'arm64' (native host)
All templates were just single-task wrappers after removing WoW64 logic.
Inline vcvarsall and MSBuild directly in devops.yml for clarity.
@anporumb
Copy link
Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@anporumb
Copy link
Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command.

@anporumb
Copy link
Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@anporumb
Copy link
Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@anporumb
Copy link
Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@anporumb anporumb force-pushed the anporumb/fix_arm_forever branch from d94a4d4 to ab0a65e Compare January 25, 2026 04:49
@anporumb
Copy link
Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines will not run the associated pipelines, because the pull request was updated after the run command was issued. Review the pull request again and issue a new run command.

@anporumb
Copy link
Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

dcristoloveanu
dcristoloveanu previously approved these changes Jan 26, 2026
Copy link
Member

@dcristoloveanu dcristoloveanu left a comment

Choose a reason for hiding this comment

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

:shipit:

- Rename ARM64-AGENT-PATCHING.md to arm64-agent-patching.md (per dcristo nitpick)
- Update comment to clarify vcvarsall is needed for both CMake and MSBuild
@anporumb
Copy link
Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Member

@BertKleewein BertKleewein left a comment

Choose a reason for hiding this comment

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

:shipit:

@anporumb anporumb merged commit 701319d into master Jan 26, 2026
8 checks passed
Copy link

@jebrando jebrando left a comment

Choose a reason for hiding this comment

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

:shipit:

@anporumb anporumb deleted the anporumb/fix_arm_forever branch February 3, 2026 15:54
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.

4 participants