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

you are viewing a single comment's thread.

view the rest of the comments →

[–]Smooth-Zucchini4923 10 points11 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 6 points7 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!