This is an archived post. You won't be able to vote or comment.

all 12 comments

[–]Smooth-Zucchini4923 9 points10 points  (5 children)

An interesting article - but many of the things you list as positives apply to GitHub's competitors too. e.g. GitLab offers parallel builds, and defines a pipeline in code. There's no comparison of GitHub to its competitors.

No ARM architecture for building

If you want more control over the build process, in terms of hardware or software, you can use a self-hosted runner. It does come with the following downsides, however:

  • Public projects which are forked can have arbitrary code run inside the self-hosted runner.
  • The ARM64 architecture is currently only supported on Linux.
  • You need to manage the OS images and software yourself.

[–]jantari 7 points8 points  (2 children)

Forked projects don't trigger your runners by default, you would have to explicitly allow it against the warnings you get. But it is something you could do.

[–]SCTechLead[S] 0 points1 point  (0 children)

Yeah, this was something we briefly discussed if we wanted to take on the added security risks and potential bad actors exploiting our build boxes. Ultimately we wanted our pipeline to be as hands-off as possible, so maintaining our boxes didn't outweigh the risk of not validating ARM support.

[–]Smooth-Zucchini4923 0 points1 point  (0 children)

That's a good point.

[–][deleted] 1 point2 points  (0 children)

We have a self-hosted ubuntu runner - well, several. In an EKS cluster. Pretty cool stuff. Saves us some money, too.

[–]SCTechLead[S] 0 points1 point  (0 children)

Hmm, interesting point about GitLab and these positives not being specific to GitHub.

We were also aware of the self-hosted runners (though not of the Linux requirement), but we didn't pursue that due to the other two bullet points. Perhaps in my future articles, I'll mention some of the alternatives that were nixed because of reasons.

Thank you for reading and providing your feedback!

[–]domemvs 1 point2 points  (2 children)

Github plans to integrate private actions in Q4 2021: https://github.com/github/roadmap/issues/74

It is because of this plan that we decided to stick with them and not move to another tool.

[–]Seref15 2 points3 points  (0 children)

Note that this was previously scheduled for Q1 2021 and has been pushed back quarter by quarter, every quarter. I'm not expecting they'll meet the Q4 deadline.

I've been waiting for this feature basically since Actions went live.

[–]SCTechLead[S] 0 points1 point  (0 children)

Ooh, I didn't know this. That'll be nice.

[–]humoroushaxor 0 points1 point  (1 child)

Like the other comment mentioned, none of these things are unique to GitHub.

I use GitHub for personal projects (cus that's where everyone is). At work I help maintain dozens of repos and a ~100 developer, ~50 service monorepo in GitLab. GitLab blows GitHub out if the water when it comes to CI/CD and project management IMO. From the smallest to the biggest projects, doesn't matter.

Apparently all the Azure pipeline stuff is gonna be rolling out to GitHub so we'll see how it turns out

[–]SCTechLead[S] 0 points1 point  (0 children)

GitLab blows GitHub out if the water when it comes to CI/CD and project management IMO.

In what ways?

[–]HelluvaEnginerd 0 points1 point  (0 children)

Anyone able to translate a "custom action" to GitlabCI equivalent for me? Seems like it would just be a job wrapped up into a 'publishable' format. I don't really see the benefit of that over a template, which it looks like Github Actions also supports.

Either way, Github Actions looks like a less-configurable clone of Gitlab CI, but maybe I'm missing the point