-
Notifications
You must be signed in to change notification settings - Fork 124
Add support for the linux-arm64 architecture #1452
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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 pull request adds Linux ARM64 (aarch64) architecture support to the build and release process for all three CLI tools: ado2gh, gei, and bbs2gh. This enables users to run these migration tools on ARM64-based Linux systems.
- Adds linux-arm64 build targets to the publish script for all three CLIs
- Updates CI workflow to include linux-arm64 binaries in release artifacts
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| publish.ps1 | Adds linux-arm64 build, packaging, and artifact generation for ado2gh, gei, and bbs2gh CLIs |
| .github/workflows/CI.yml | Includes linux-arm64 binaries in the release artifact paths for all three CLI tools |
|
|
||
| # linux-arm64 build |
Copilot
AI
Nov 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The linux-arm64 builds are placed within the SKIP_LINUX conditional block. This means setting SKIP_LINUX=TRUE will skip both linux-x64 and linux-arm64 builds. Consider adding a separate SKIP_LINUX_ARM64 environment variable check if you want independent control over ARM64 builds, or clarify this behavior in documentation if the current grouping is intentional.
| # linux-arm64 build | |
| } | |
| # linux-arm64 build (controlled by SKIP_LINUX_ARM64) | |
| if ((Test-Path env:SKIP_LINUX_ARM64) -And $env:SKIP_LINUX_ARM64.ToUpper() -eq "TRUE") { | |
| Write-Output "Skipping ado2gh Linux ARM64 build because SKIP_LINUX_ARM64 is set" | |
| } | |
| else { |
Unit Test Results 1 files 1 suites 10m 25s ⏱️ Results for commit b65ed95. |
dpmex4527
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
This is a change to the CI workflow to build and publish a linux-arm64 version of the GEI executable. This will allow MacOS users to run GEI inside ARC runners in a K8s cluster on their localhost. This removes a lot of friction in developing and testing migrations-via-actions or any other migrations workflows that run on K8s that use GEI. This fixes #1435.
I have built and tested this in my forked repo. You can also see the results by running an ubuntu docker container on MacOS, install GH CLI, and install the GEI binaries I've built in my fork. The process is as follows:
docker run -it ubuntu /bin/bashexport DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 && gh geiThirdPartyNotices.txt(if applicable)