microsoft / azure-pipelines-agent

Azure Pipelines Agent 🚀
MIT License
1.71k stars 864 forks source link

Retrocomputing question #3931

Closed cyberluke closed 1 year ago

cyberluke commented 2 years ago

Hi, I just acquired Unisys Aquanta 6x6 server that cost half milion dollars 20 years ago. It is 6x Pentium Pro server with SMP support (I can get Windows XP / Windows Server 2003 running with some hacks from Longhorn to disable ACPI, which this BIOS does not have).

I just want to have some fun.

Can I compile this Azure Pipelines Agent for x86 Linux? It can be even older version before .NET Core 2.1.

The only requirement is it should support dry-run of YAML pipeline or some kind of validation check via REST API. That's it!

Or is there any other tool that would have this dry-run and validation support? On Azure website the validate button performs some kind of better validation while AzurePipelines VS Code extension performs only schema validation and will not evaluate the syntax of expressions, which is making headaches currently.

BTW: This Microsoft employee did run .NET on Windows 3.11: https://twitter.com/MStrehovsky/status/1215331352352034818

LiliaSabitova commented 2 years ago

Hi @cyberluke, you may face some issues, i.e. with SSL that is deprecated. But agent is open source, so you can find some old version and feel free to try it. However, we cannot guarantee that it will work fine and we do not support it.

cyberluke commented 2 years ago

Thank you, SSL is not an issue at all because you can set up a proxy server on Windows 10 machine and browse internet securely even on 30 years old machine.

You know it is a typical business answer: "we do not support it". People like me do not care about it. Because it is often only small technical laziness and more of a business decision to support something or not. Mostly it is a business effort to move customer to a new product and spend more money (like Apple slowing down older iPhones in their firmware updates on a purpose). I do not support Consumerism just to artificially bump up ROI.

Are you please aware of any other tool that would allow Azure pipeline YML dry-run and validation? Even latest VS Code with official Microsoft Azure pipelines extension cannot do it. Only Azure online web interface can validate everything, including expression syntax. So this one question still remains: Or is there any other tool that would have this dry-run and validation support? On Azure website the validate button performs some kind of better validation while AzurePipelines VS Code extension performs only schema validation and will not evaluate the syntax of expressions, which is making headaches currently.

FUN FACT: Windows 98 support maximum 512MB of RAM because developers had a deadline and they could not fix some bugs and manager decision was to release it. At that time nobody care and they fixed it later in Windows NT release and never coming back to 98, even at that time when it was still supported. But nowadays you can download Rudolph Loew's patch and it will allow you to have and actually use up to 4GB of RAM (maximum for 32-bit). So mostly it is a lack of business care, a lack of knowledge or releasing work under pressure.

cyberluke commented 2 years ago

Today I spoke with Microsoft developer, there is some .NET build by a community for Linux x86.

I guess it is this one: https://github.com/Servarr/dotnet-linux-x86/releases

Includes .NET 6.0 and .NET 7.0 and it works on x86 Linux. So that could work!

LiliaSabitova commented 1 year ago

Hi @cyberluke, did I get you right, that you need a tool to validate pipelines? Currently, we don't have such a tool. Pipeline scheme is being validated by Azure DevOps itself, and only when you try to run it. We don't have api for the validation at the moment, but you may find existing ones useful - https://github.com/microsoft/azure-devops-node-api. There is a method that triggers build, and you may check the status of the pipeline. Will that be helpful to you? Also, we will do some additional research once we have time.

CyberLuke-GBG commented 1 year ago

Hi, no, that is not helpful and I did this research before posting it here. Scheme validation only is not enough, mainly due to expression syntax. Development of Azure pipelines is now worse than XSLT.

In XSLT editor it will check also the expressions. So with this in mind, there is 90's technology that is more advanced and have that capability of checking and validating something.

I also look into your beta / experimental API's. The issue was that you had experimental API some year ago for this, but you disabled it. So a lot of developers post about this online.

cyberluke commented 1 year ago

@LiliaSabitova linked issue: https://github.com/microsoft/azure-pipelines-agent/issues/2479

geekzter commented 1 year ago

@cyberluke This REST API performs a dry run. See also runs.

I'd like to close this issue as it is not agent related.

cyberluke commented 1 year ago

This issue here is related to running Azure Agent on X86.

The stuff you mentioned now is related to the linked issue: https://github.com/microsoft/azure-pipelines-agent/issues/2479 (perhaps share it over there and lets see what they say?) Thank you

BTW: You call it previewRun not dry run. Next if I would have to be specific: Microsoft Visual Studio Azure plugin has zero support for it.

LiliaSabitova commented 1 year ago

Hi @cyberluke, As the repository is open source, it's possible to compile and run Agent on any of the systems. But we have the list of supported systems, Windows and Linux systems. It is possible to experiment on any other system, but we don't have a capacity to solve your issue.