Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

Always love to shock more people with the random fact that GitHub Actions is Azure DevOps Pipelines in a trenchcoat (and Azure Pipelines is seemingly abandoned / in maintenance mode now).

The runner code is on GitHub, and it's not pretty. In fact last time I ran it it had trouble generating stable exit codes.



sort by: page size:

I don't think GitHub staff has forgotten. Actions are straight up Azure Pipelines. The code is a huge mess. If I didn't know better I'd say it's obscured by design. Check out the actions/runner repo if you don't believe me. They polished them very well for the hosted version, but the cracks show if you try to use the self-hosted version.

I can't believe anyone at GitHub is particularly thrilled about having a Microsoft technology that broken imposed on them.


That’s because GitHub Actions is Azure DevOps, or if you want to go back further, Team Foundation Server Pipelines.

This has been public knowledge for years. Github Actions has been based on Azure Devops Pipelines since mid-2019 when it became a full CI/CD solution instead of just performing task automation.

https://docs.github.com/en/actions/reference/specifications-...

> The GitHub-hosted runner application is a fork of the Azure Pipelines Agent.

There was a related discussion on reddit at the time: https://www.reddit.com/r/programming/comments/cnoq0q/github_...

It allowed Github to get spun up quickly with a competitor for Gitlab's CI/CD, and the community was asking for actions to become a CI/CD solution, so taking advantage of pre-existing infrastructure seems like a win-win for everyone. I don't see why they'd bother going to the effort of reinventing the wheel.


GitHub Actions is a subset of Azure Pipelines, I use Mojave there and don’t intend to move to Actions.

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/


Since GitHub is owned by Microsoft and their other product has had this, I’m guessing it’s yet another copy-over like GitHub Actions was from Azure Pipelines.

Not sure how long it’s been in AzureDevOps but it could have been inspired from GitLab there I suppose.


Most of the people who worked on Azure Pipelines got transferred to GitHub to work on Actions. You can even see the same names of developers contributing code to both the GitHub runner and the Azure DevOps agent.

I think they migrated the .NET code from Azure DevOps to GitHub Actions a while ago. It was open sourced somewhere but I cannot find the repo now. Not sure if they have made the repo private again but Microsoft has moved a lot of staff from Azure to GitHub and since then GitHub has taken a dive in quality and reliability of their services for sure.

EDIT:

Here's the source: https://github.com/actions/runner

This code is identical to the runner code for Azure DevOps. Also the repo history only goes back a little while, so you know that this wasn't the original code and they migrated the code from Azure to GitHub and then made the C# code public.

I highly doubt that GitHub and Azure have independently written the exact same code in C#, especially since GitHub didn't even use C# before Microsoft's acquisition.

Seems things have hugely degraded since then. I'm even surprised that they decided to replace GitHub's own work with Azure DevOps's code. Feels more like a slow organisational move from DevOps to GitHub and for marketing purposes replace GitHub's Python, Go and other code with C#.

Wait for the next big Microsoft conference when MSFT will shout through megaphones how .NET and C# has been powering millions of customers on GitHub and been a huge "success".

So far the only big projects using .NET have been Bing (of course lol) and StackOverflow. Microsoft has been longing for something else to finally use .NET for a respected project. Since nothing happened organically they had to buy their way in :P


GitHub Actions was only launched after the acquisition. It always ran on Azure.

Azure Pipelines + GitHub Actions

> Github operates independently of Microsoft. (To Microsoft's detriment... they offer Azure Devops which is their enterprisey copy of Github, with entirely different UX and probably different codebase.)

GitHub Actions is basically Azure Pipelines repackaged with a different UI, so I don't think they mind much.


In many many many ways, they’re the same thing. GitHub Actions is Azure DevOps.

Azure Devops is increasingly based on the same code as Github.

Github Actions and Azure Devops Pipelines, for example, utilize the same infrastructure in my understanding.


They share a lot of code. My understanding is that it was an MS project first, but I might have that backwards.

> GitHub Workflows execute on runners. The runner code is essentially a fork of the Azure Pipelines code, so it's very similar. It's also cross-platform and you can also use hosted or self-hosted runners.

https://learn.microsoft.com/en-us/dotnet/architecture/devops...


> GitHub Actions is based on Visual Studio Team Foundation Server's CI, and later Azure DevOps

Yes and no, ADO Agent (https://github.com/microsoft/azure-pipelines-agent) is far more secretive and "black-box" alike. Like stuck in old version of NodeJS, Powershell, API without documentation or even enough tests/samples...


Github actions is most definitely using Azure build pipelines behind the scenes. Microsoft is smart about boosting revenue figures. Id be shocked if this wasnt the case.

GitHub Actions seems to use Azure a lot under the hood; given that they seemed to use AWS for older features (attachments, releases, etc.) it seems likely that it actually needed Microsoft.

My best guess, with no knowledge of what actually happened, is that it was derived from Azure Pipelines.


@jeremyepling I'd be interested to know if Github Actions will eventually replace Azure DevOps pipelines? Thanks

That sentence seemed particularly strange considering GitHub Actions is pretty openly based on Azure DevOps, which makes sense considering GitHub's owner. Actions bears little resemblance to Travis.
next

Legal | privacy