azure-functions-core-tools icon indicating copy to clipboard operation
azure-functions-core-tools copied to clipboard

[Epic] Release Core Tools support for linux arm64

Open liliankasem opened this issue 9 months ago • 11 comments

This issue will act as an epic to track the work required to complete the release for Core Tools with linux arm64.

A feature branch has been created to develop support for linux arm64: feature/linux-arm64 We can use this feature branch to release preview packages to gather feedback.

Work Items:

Preview 1

  • [x] Notify release, worker and extension teams
  • [x] Update pwsh worker build filters to include arm64:
    • https://github.com/Azure/azure-functions-host/pull/11013
  • [x] Update Core Tools to add support for linux-arm64:
    • #3584
    • #4297
      • #4389
  • [x] Update pipelines
    • #4287
  • [x] Release preview Core Tools with linux arm support
    • #4288

Preview 2 - Pending host release with updated python worker

  • [x] Update python worker to package linux-arm64 build:
    • https://github.com/Azure/azure-functions-python-worker/issues/1643
  • [ ] Release of Host v4.1041.100 (tbd)
  • [ ] Core Tools release -preview2 with python support

GA

  • [ ] Merge feature branches into main (remove -preview tag)
  • [ ] Release GA Core Tools with linux-arm64 support as part of regular cli release cadence

liliankasem avatar Feb 21 '25 19:02 liliankasem

Thank you for pushing this forward @liliankasem!

FYI, there is some additional context in the older issue https://github.com/Azure/azure-functions-core-tools/issues/3112.

alecglen avatar Feb 21 '25 20:02 alecglen

Extremely excited 😃

JoJoAtkinson avatar Feb 22 '25 22:02 JoJoAtkinson

@liliankasem any update on ETA? Cheers

Adeelku avatar Mar 20 '25 16:03 Adeelku

We're currently blocked on the python team releasing an arm64 build. They are planning for that to be in v4.x39 of the Functions Host - I don't have any clear dates on that but we are currently at the start of the process for v4.x38 so it may be a while. In the meantime we will prep anything we need on the Core Tools side so we're ready when that happens.

liliankasem avatar Mar 24 '25 23:03 liliankasem

Is it possible to initially release the Core Tools without python support for linux? That way we can unblock all the folks using .net and javascript runtimes. Appreciate your consideration.

joeuy avatar Mar 27 '25 17:03 joeuy

Python!!!!1!

Thank you for staying on top of it; excited to see movement

JoJoAtkinson avatar Mar 27 '25 19:03 JoJoAtkinson

Is it possible to initially release the Core Tools without python support for linux? That way we can unblock all the folks using .net and javascript runtimes. Appreciate your consideration.

Let me ask about this and see if we can

liliankasem avatar Apr 14 '25 18:04 liliankasem

Is it possible to initially release the Core Tools without python support for linux? That way we can unblock all the folks using .net and javascript runtimes. Appreciate your consideration.

Let me ask about this and see if we can

Any updates @liliankasem ? Thanks!

joeuy avatar May 02 '25 13:05 joeuy

We're working on a preview release (!!), there's just a lot of moving parts so it hasn't been so straight forward. It's worth mentioning that -preview1 will not support python or in-process dotnet (so only dotnet-isolated, powershell, java, and node will be supported) - some of those changes are pending a host release that could be months away at this point, but hopefully will have something out in the next week or so (don't hold me to that).

liliankasem avatar May 07 '25 21:05 liliankasem

The first part of the release is out and available via npm:

https://github.com/Azure/azure-functions-core-tools/releases/tag/4.0.7332-preview1

APT release is underway: we are hoping for tomorrow, or end of next week at the latest. Sorry about the delay here.

We will release -preview2 when we have python support. The good news is that the arm64 build work is complete so we are just waiting on a host release with this version of the python worker. We will follow that up with a full GA release once everything is working as we expected it to, and we resolve any issues that folks find in preview.

liliankasem avatar May 22 '25 22:05 liliankasem

Image

alecglen avatar May 23 '25 15:05 alecglen

Latest on this: v4.1041.100 is finally fully released with python linux arm64 support - we will work on getting a new preview version out that has the python support. If that goes well we will aim to have this in GA soon after.

liliankasem avatar Aug 21 '25 17:08 liliankasem

Latest on this: v4.1041.100 is finally fully released with python linux arm64 support - we will work on getting a new preview version out that has the python support. If that goes well we will aim to have this in GA soon after.

Since i cannot work with the core tools at all on my microsoft windows arm64 surface laptop... native nor python arm64 in docker/wsl or anything emulated neither for some reason. This was pretty essential and i have pulled in the feat branch and build it and have been using it successfully in my wsl - python linux arm64 for 3 days for what its worth.

When the preview is live, ill switch to that . thanks for the follow up on this subject!

Molier avatar Aug 25 '25 08:08 Molier

@liliankasem I see an APT release for 4.3.0 amd64, but not arm64.

I'm running on on debian bookworm, arm64 here:

$ export DEBIAN_VERSION=12
apt-get update
apt-get install -y --no-install-suggests --no-install-recommends \
    ca-certificates \
    gpg \
    wget
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | tee /usr/share/keyrings/microsoft-prod.gpg
wget -q https://packages.microsoft.com/config/debian/${DEBIAN_VERSION}/prod.list
mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
chown root:root /usr/share/keyrings/microsoft-prod.gpg
chown root:root /etc/apt/sources.list.d/microsoft-prod.list
apt-get update
apt-get install azure-functions-core-tools-4 -y

> Reading package lists... Done
> Building dependency tree... Done
> Reading state information... Done
> E: Unable to locate package azure-functions-core-tools-4

$ arch
> aarch64

$ apt list --all-versions | grep azure-functions-core-tools
> azure-functions-core-tools-3/bookworm 3.0.5682-1 amd64
> azure-functions-core-tools-3/bookworm 3.0.5542-1 amd64
> azure-functions-core-tools-4/bookworm 4.3.0-1 amd64
> azure-functions-core-tools-4/bookworm 4.3.0~preview1-1 amd64
> azure-functions-core-tools-4/bookworm 4.2.2-1 amd64
> azure-functions-core-tools-4/bookworm 4.2.1-1 amd64
> azure-functions-core-tools-4/bookworm 4.1.2-1 amd64
> azure-functions-core-tools-4/bookworm 4.1.1-1 amd64
> azure-functions-core-tools-4/bookworm 4.1.0-1 amd64
> azure-functions-core-tools-4/bookworm 4.0.7512-1 amd64
> azure-functions-core-tools-4/bookworm 4.0.7332~preview1-1 amd64
> azure-functions-core-tools-4/bookworm 4.0.7317-1 amd64
> azure-functions-core-tools-4/bookworm 4.0.6821-1 amd64
> azure-functions-core-tools-4/bookworm 4.0.6610-1 amd64
> azure-functions-core-tools-4/bookworm 4.0.6280-1 amd64
> azure-functions-core-tools-4/bookworm 4.0.5907-1 amd64
> azure-functions-core-tools-4/bookworm 4.0.5858-1 amd64
> azure-functions-core-tools-4/bookworm 4.0.5801-1 amd64
> azure-functions-core-tools-4/bookworm 4.0.5700-1 amd64
> azure-functions-core-tools-4/bookworm 4.0.5611-1 amd64
> azure-functions-core-tools/bookworm 4.3.0-1 amd64
> azure-functions-core-tools/bookworm 4.3.0~preview1-1 amd64
> azure-functions-core-tools/bookworm 4.2.2-1 amd64
> azure-functions-core-tools/bookworm 4.2.1-1 amd64
> azure-functions-core-tools/bookworm 4.1.2-1 amd64
> azure-functions-core-tools/bookworm 4.1.1-1 amd64
> azure-functions-core-tools/bookworm 4.1.0-1 amd64
> azure-functions-core-tools/bookworm 4.0.7512-1 amd64
> azure-functions-core-tools/bookworm 4.0.7332~preview1-1 amd64
> azure-functions-core-tools/bookworm 4.0.7317-1 amd64
> azure-functions-core-tools/bookworm 4.0.6821-1 amd64
> azure-functions-core-tools/bookworm 4.0.6610-1 amd64
> azure-functions-core-tools/bookworm 4.0.6280-1 amd64
> azure-functions-core-tools/bookworm 4.0.5907-1 amd64
> azure-functions-core-tools/bookworm 4.0.5858-1 amd64
> azure-functions-core-tools/bookworm 4.0.5801-1 amd64
> azure-functions-core-tools/bookworm 4.0.5700-1 amd64
> azure-functions-core-tools/bookworm 4.0.5611-1 amd64
> azure-functions-core-tools/bookworm 4.0.5571-1 amd64
> azure-functions-core-tools/bookworm 3.0.5682-1 amd64

quiqueg avatar Oct 23 '25 16:10 quiqueg

@quiqueg just followed up with the release folks on this and looks like it was accidentally missed due to the caching issues we were having with the CDN. They're working on uploading that now so should hopefully be available by end of today!

liliankasem avatar Oct 23 '25 18:10 liliankasem

@quiqueg quick update here, turns out there was a build issue where the control arch was hardcoded to amd64 so even though we are deploying the arm64 packages, they don't get listed. We're fixing that issue and there should be a new release out Monday next week. Apologies for the delay.

liliankasem avatar Oct 24 '25 23:10 liliankasem

@liliankasem any news on this please?

dafunkphenomenon avatar Oct 29 '25 10:10 dafunkphenomenon

The release team is currently impacted by the ongoing outage and are not able to release the package at the moment, they will be as soon as they are able.

liliankasem avatar Oct 29 '25 21:10 liliankasem

We can see that arm64 was successfully published now. @quiqueg You should be able to see it now when you run apt list.

castrodd avatar Oct 31 '25 15:10 castrodd

Confirmed! I've been following this issue for months—huge thank you to all for helping to push this across the finish line 😄

quiqueg avatar Oct 31 '25 19:10 quiqueg

Brilliant. Finally, Azure Functions in dev containers on an ARM64 Mac are working! Thanks to everyone involved.

dafunkphenomenon avatar Nov 03 '25 08:11 dafunkphenomenon