Live data from Hacker News

GitHub Actions has a package manager, and it might be the worst

nesbitt.io

211–220 of 267 posts

Re: GitHub Actions has a package manager, and it might be the worst

#211

Earlier quoted context omitted.

I have also used Travis. Ditto. Github Actions is actually one of the better CI options out there, even if on an absolute scale it is still pretty bad. As far as I can tell nobody has made a CI system that is actually good .

GitLab CI is pretty close to being actually good. Certainly less brittle than GitHub Actions from the looks of it...

It's really not. I've used Gitlab CI extensively and the number of issues we had...

Re: GitHub Actions has a package manager, and it might be the worst

#212

A lot of the actions people tend to use are just unnecessary. They're simple wrappers around real tools. In those cases, use mise-en-place. It's a single action that installs all relevant tools (and keeps your local dev env in check), and it supports lock files.

And if not mise, just a Makefile, shell scripts or custom docker images. Then you can run and develop them locally.

GitHub actions has some rough edges around caching, but all the packaging is totally unimportant and best avoided.

Re: GitHub Actions has a package manager, and it might be the worst

#213
post #145

Earlier quoted context omitted.

Yes, their oidc setup was probably their last good feature back when they were actually delivering features back in 2020ish. Everyone else copied it within a few months though.

Who is everyone? As with pretty much every GitHub feature, GitLab had them beat by a few years.

Maybe in some other form, but the current style of injecting an oidc token was definitely in github actions first. Here is the gitlab issue tracking the final bit of it's implementation directly mentioning github: https://gitlab.com/gitlab-org/gitlab/-/issues/356986

Re: GitHub Actions has a package manager, and it might be the worst

#214
post #145

Earlier quoted context omitted.

Who is everyone? As with pretty much every GitHub feature, GitLab had them beat by a few years.

Maybe in some other form, but the current style of injecting an oidc token was definitely in github actions first. Here is the gitlab issue tracking the final bit of it's implementation directly mentioning github: https://gitlab.com/gitlab-org/gitlab/-/issues/356986

This is the more flexible and secure (specific aud) replacement for CI_JOB_JWT which has been there since at least 2017, if not before. Functionally it was exactly the same, a JWT token per pipeline allowing you to authenticate to third parties that support OIDC/JWT Auth.

Re: GitHub Actions has a package manager, and it might be the worst

#215
post #53

Earlier quoted context omitted.

I don’t make the purchasing decision for my employer, but I certainly have to deal with their fallout, so I’ll keep complaining if that’s okay with you.

If you are not part of the solution, then you are part of the problem.

If you’re so lucky that your employer lets you use any $TOOL you want, great, but I _have_ to use GitHub actions.

So I’m part of the problem? Me specifically?

Re: GitHub Actions has a package manager, and it might be the worst

#217

What’s more, GitHub has basically stopped maintaining their own actions, pushing people to sketchy forks to do basic things. Their entire ecosystem is basically held up with duct tape and gets very little investment.

I never used any actions and never understood why would I need to. I just wrote bash script to build my project and that's about it. This modern tendency to add dependencies for trivial things baffles me. You don't need "action" to do `git clone`.

bash scripts are as inscrutable as any GHA.

Re: GitHub Actions has a package manager, and it might be the worst

#218

I committed the project I maintain to GitHub Actions when Actions first came out, and I'm really starting to regret it. The main problem, which this article touches, is that GHA adds a whole new dimension of dependency treadmill. You now have a new set of upstreams that you have to keep up to date along with your actual deployment upstreams.

renovatebot and dependabot can take care of that. Setting up CI is progress, nothing to regret.

Re: GitHub Actions has a package manager, and it might be the worst

#219
post #146

I've not understood the propensity for using yaml for CI pipelines and workflows in general. A decent programming language would be a big improvement. Why not just build the workflows themselves as docker images? I guess running other docker images in the workflow would then become a problem.

> I've not understood the propensity for using yaml for CI pipelines and workflows in general. A decent programming language would be a big improvement. Because it's clear to write and read. You don't want your CI/CD logic to end up being spaghetti because a super ninja engineer decided they can do crazy stuff just because they can. Same reason why it's a bad idea to create your infrastructure directly in a programmi…

IME on a Pulumi for IaC team, writing infra in a real language (TypeScript) is MILES better than- you can do conditions, have typed outputs, etc and not have it be a bastardized imperative YAML mess.

YAML is fine for data, but inevitably stuff like workflows end up tacking on imperative features to a declarative language.

Re: GitHub Actions has a package manager, and it might be the worst

#220
post #51

Earlier quoted context omitted.

- Using the commit SHA of a released action version is the safest for stability and security. This is not true for stability in practice: the action often depends on a specific Node version (which may not be supported by the runner at some point) and/or a versioned API that becomes unsupported. I've had better luck with @main.

Depends what you mean by stability. The post is complaining about the lack of lockfiles, and the problem you describe would also be an issue with lockfiles.

The underlying problem is that you can't keep using the same version, and one way it fails ruins the workaround for a different failure.
Post reply on HN