Skip to content
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

Migration to .NET 6 (OpenSSL 3.0 and M1 architecture support) #3922

Closed
4 of 5 tasks
alexander-smolyakov opened this issue Jul 27, 2022 · 16 comments · Fixed by #3879
Closed
4 of 5 tasks

Migration to .NET 6 (OpenSSL 3.0 and M1 architecture support) #3922

alexander-smolyakov opened this issue Jul 27, 2022 · 16 comments · Fixed by #3879

Comments

@alexander-smolyakov
Copy link
Contributor

alexander-smolyakov commented Jul 27, 2022

Description

At the moment Azure Pipelines Agent targets the .NET Core v.3.1. We need to migrate it to .NET 6 to provide support for:

  • OpenSSL 3.0
  • Native support for M1 architecture

Current progress

  • Update codebase to target .Net 6
  • Update release pipeline to provide a native build for the M1 platform
  • Update CI checks to test new platforms (In progress)
  • Verify and test the agent update process for the self-hosted pipeline agents
  • Test the Azure Pipelines Agent build on the main target platforms (In progress)

Testing

OS (Reduction + Version) Architecture Testing Status
Windows 7 SP1 ESU x64 Completed
Windows 8.1 x64 Completed
Windows 10 x64 Completed
Windows 10 x86 Completed
Windows 11 x64 Completed
Windows Server 2022 Standard x64 Completed
Windows Server 2019 Standard x64 Completed
Windows Server 2016 x64 Completed
Windows Server 2012 x64 Completed
CentOS 8 x64 Completed
Debian 10 x64 Completed
Fedora 33 x64 Completed
Linux Mint 17 x64 Completed
RHEL 9 x64 Completed
Suse Enterprise 12.3 x64 Completed
Ubuntu 18.04 x64 Completed
Ubuntu 20.04 x64 Completed
Ubuntu 22.04 x64 Completed
Ubuntu 22.04 arm32 Completed
Ubuntu 22.04 arm64 Completed
Debian 10 arm32 Completed
MacOS 12 x64 Completed
MacOS 12 arm64 Completed

Breaking changes

Questions

TBD

Mitigation ways

TBD

@alexisatkinson
Copy link

alexisatkinson commented Oct 17, 2022

Given that .NET Core 3.1 is EOL on 13th December 2022 and the .NET 6 move appears to be a pre-requisite for Ubuntu 22.04 support, is there a view on the likely ETA for .NET 6 support to drop?

@sanderdam
Copy link

Just out of curiosity...
The AgentService project targets .Net Framework 4.5.
Are there plans for also migrating this to .Net6?

@sphanley
Copy link

We're now past the End of Support date for .Net Core 3.1. Is there any timeline available yet for when the .Net 6 migration is expected to be complete and released to users?

@MichelZ
Copy link

MichelZ commented Jan 20, 2023

Another month passed by. What's the status of this? @alexander-smolyakov

@alexander-smolyakov
Copy link
Contributor Author

Hey @MichelZ, I'm no longer working on this project. Probably @kirill-ivlev @LiliaSabitova @max-zaytsev could share the current status of this migration.

@alexisatkinson
Copy link

Not sure why it hasn't been posted here previously, but worth reading:

https://devblogs.microsoft.com/devops/upgrade-of-net-agent-for-azure-pipelines/

The current (as of writing) pre-release .NET build agent version is at https://github.com/microsoft/azure-pipelines-agent/releases (see the v3.x releases further down the page)

@sphanley
Copy link

Huge thanks for calling that out, @alexisatkinson. It's really frustrating to know that my team could have begun testing the MacOS arm64 runner months ago if Microsoft had just linked that announcement here.

@kirill-ivlev
Copy link
Contributor

@sphanley sorry for the lack of updates in this ticket, in general, we have completed all required testing and started to provide public releases, you can find it on our Releases page.
We will be appreciated any feedback regarding the new agent.

We will update this ticket once the agent will roll out in the main distribution channel.

@hheexx
Copy link

hheexx commented Jan 30, 2023

@kirill-ivlev It would be nice to have a way to update without reinstalling.
You could add update command to v2 cmd or something in web admin for agent pools.
Something like prerelase update channel.

@amrmesbah
Copy link

@kirill-ivlev is there any estimation on when this will be rolled out to the main channel?

@Muhammed9991
Copy link

Looks like everything is completed. Do we have a timeline for when this will merged?

@lietu
Copy link

lietu commented Mar 11, 2023

So, if I download the latest pre-release version 3.217.0, I still have to do these manual patches to get it to install and run on Ubuntu 22.04:

sed -i "s@liblttng-ust0@liblttng-ust1@g" bin/installdependencies.sh
sed -i "s@libssl1\.1@libssl3@g" bin/installdependencies.sh
sed -i "s@libicu67@libicu70@g" bin/installdependencies.sh

Hope these get actually incorporated into the project, but for anyone else this might be all you really need right now to get it running on the almost a year old Ubuntu LTS.

@kuqin12
Copy link

kuqin12 commented Mar 15, 2023

Is there any plan to add the support for Windows ARM64? Or the Windows x64 release from the table is considered the coverage for Windows ARM64 arch as well?

@sphanley
Copy link

sphanley commented May 9, 2023

I see that the last two 3.x agent releases are no longer marked "prerelease". Does this mean it's considered to be stable and official at this point? Has there been any communication on the topic?

@hheexx
Copy link

hheexx commented May 9, 2023

It has been pushed to updates, you can update to 3.x from web UI

@kirill-ivlev
Copy link
Contributor

@sphanley Yes, the 3.x agent is in a stable and official release.

Some useful information also might be found in this blog post.

Closing this ticket since no future action is required.

@kirill-ivlev kirill-ivlev unpinned this issue Aug 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.