I really wish the runner agent was written in something more portable than .NET. That choice feels like something purely political because they’re owned by Microsoft. I doubt and independent organization would have chosen it before other excellent choices such as Go, Rust etc.

Currently hosting the runner on e.g. FreeBSD or custom embedded systems is not supported (or even possible).

It's not because they're owned by Microsoft, at least not in the way you think.

It's because GitHub Actions is rebranded Azure Pipelines.

That a team at GitHub has been given a pile of Microsoft authored code is honestly much more concerning. They don't seem to understand it in its entirety either.

I didn't want to believe it, but then I did a search through their repo:

```

  else if (value.Contains("Microsoft.Azure.DevOps"))
                {
                    m_typeName = value.Replace("Microsoft.Azure.DevOps", "GitHub");
                   m_typeName = m_typeName.Substring(0, m_typeName.IndexOf(",")) + ", Sdk";

                }
```
You can also compare the source code structure to the Azure Devops Pipeline agent's to tell pretty easily that the github runner is a fork what has been edited to process the somewhat different format of the actions YAML.

https://github.com/microsoft/azure-pipelines-agent/