-
Notifications
You must be signed in to change notification settings - Fork 886
Add support for aarch64 release builds #1911
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
Comments
@toolboc we are waiting for dotnet core to add ARM64 support, it's part of dotnet core 3.0 which will release in 2019. |
@TingluoHuang , looks like current dotnet core (v2.1.5) already supports ARM64 => https://www.microsoft.com/net/download/dotnet-core/2.1 Is there any interest in adding support sooner? |
@toolboc i really wish. :) From what i have been told, it's runnable but dotnet core team won't support it when you runs into issue. |
ARM64 support in .NET Core: dotnet/announcements#82 |
Now that .NET Core 3.0 is officially released, can we expect an updated agent which supports ARM64 soon? |
What is the status on this work? I am looking into self hosting a Linux ARM32 and 64 build agent, as cross compiling in docker is adding several hours to our projects build time, and my hope is that compiling with native toolset could reduce our build time by an hour or so. |
I have the same issue. I have to run arm64 docker builds manually on my machine using the QEMU emulation layer which is painfully slow. Having proper arm64 support for the Azure pipeline agent is critical for us. Hopefully this gets prioritized... |
Also, when Linux ARM64 support is available, will we then see a "Microsoft Hosted Agent" for this platform, just like we have for Ubuntu X64? |
Also waiting for the ARM64 version agent on linux ARM64 platform. |
We haven't scheduled the work. I hope we can get to it this calendar year, though that's not a commitment. @BrianMouncer no, we don't plan a hosted pool of ARM64 agents. |
I would love to see ARM64 support as well. https://github.com/vkrasnov/azure-pipelines-agent/tree/vlad/arm64_fix |
Support for ARM64 or guidance how to build and deploy agent on my own on raspberry 4 would be great. |
Hello, Here is a vsts version that supports arm64, I was able to create a build from a ubuntu 18.04.3 arm64 LTS. To build the project, go to the src directory and then
then you download the azure agent, you replace the bin directory by your bin builder directory. I hope I can help with this little fix, Let me know if you have any problems |
Has any roadmap for this ? |
Sorry, nothing publicly tracking it. Same state as before: we need to move the agent to .NET Core 3.0 and then this becomes easy. |
@vtbassmatt back in October.
It's December, is there any update on this work (will it still make this calendar year)? I see there was an initial PR for the agent changes, but needed test cases and lab hardware to finish., Then another that re-did this work on the current state of master, but no definitive indication when the PR will be completed, or when the new agent should be available in production. |
Any update to this? Would be great to have a hosted agent running for e.g. multiarch/ubuntu-core:arm64-xenial to build arm64 packages. |
There will not be hosted agents running ARM64, even once we ship an ARM64 agent. You'll be able to use self-hosted or elastic self-hosted pools, though. |
@vtbassmatt Any ETA or status update when it will be available? |
Unfortunately no. I've made soft promises before and had to break them, so I won't do that here. Hopefully soon! |
Note that on ARM64 Windows desktop, the x86 client should run under emulation. I have not tried this, so of course YMMV, but it should be on par with the x86 client on x64. Once the client is on .NET Core and .NET Core supports ARM64 Windows, then it should(TM) Just Work. |
@toolboc @nicolasg-playster @BrianMouncer @freyshen @vkrasnov @eXXL @liminany @NGPixel @Qinka @michalpenka @philipktlin - good news, there is an ARM64 agent now. Sorry for the looong delay. |
(Leaving open until we're officially official with support) |
This is excellent, thanks @vtbassmatt for an update. I'll give it a try later today and will report any bug should I find any. Like your ARM build btw! |
In case anyone is interested in the details, it's a PicoCluster 5H with Raspberry Pi 4Bs running Ubuntu Server 18.04 64-bit. The bottom two, currently disconnected, units will probably get 32-bit Raspbian or Ubuntu Server, as the Pi4 is about twice as fast as our current ARM32 build machines. |
It's just such a shame PicoCluster is so expensive. But looks great and neat! Anyways, well done @vtbassmatt for all the work on the agent. |
Thanks @vtbassmatt for this. We have been running a hacked up version based on 2.159 for a few months, I upgraded my agents to the 2.166.2 last week and have seen no issues so far. |
Link to |
Thanks @amaslenn. I'll file a separate issue to make sure we track that. |
I've successfully deployed 2.166.2 (.3 link really not available) to my Kubernetes cluster and so far I have found no issues. Will keep you updated should I find any. Thanks again! |
Thanks, @vtbassmatt for all your hard work to get to this point. Are there any remaining tasks to complete before we close this one out? Seems like Arm/Arm64 builds are now available with latest releases up to 2.168.2 |
Thanks for the reminder. Yes, this is official now. |
Btw I think we need to update the New Agent download page in DevOps Website (click "New Agent" button on DevOps website) to include ARM64 with download link and steps. |
Just wanted to drop a note saying that we've begun using this for our CI builds of the official .NET Docker images: dotnet/docker-tools#564. We make use of NVIDIA Jetson machines that we've updated to install the ARM64 version of the agent. Originally, we had AMD64-based Linux VMs that run the pipeline agent software and acted as a proxy, sending remote Docker commands to the Jetson machines. Now we can completely get rid of those proxy machines. Everything's working great at this point. |
No plans for a hosted pool of these. |
Are there any plans for a Hosted pool of these? If not, can we use docker buildx to build arm64 images on an azure pipeline? |
@lewcianci I'm working on adding Double-check if Docker 19.03+ is installed on your pipeline, this is a prerequisite to be able to use buildx. Then you can e.g. run |
@lewcianci no plans for a hosted pool. |
I find that strange considering that Microsoft has invested quite heavily in IoT and yet we can't use the build agents to build ARM64 images natively and have to use QEMU to build instead. But it's perhaps not in high enough demand yet 😄 Thanks for getting back to me |
It's surprise to me as well. |
My team recently encountered a situation where we needed to run the azure-pipelines-agent on an aarch64 (ARM 64bit) device.
At this time, the official release builds only support:
We were able to install and run the Linux ARM32 release flavor by installing the armhf dependencies on an aarch64 device (Jetson TX2), however, it would be nice to have first class support for this architecture due to it's prevalence in the IoT space (Raspberry Pi 3B+, PINE64, Nividia Jetson etc.).
The text was updated successfully, but these errors were encountered: