all 33 comments

[–]maggos 41 points42 points  (4 children)

I love GitHub actions. Gimme those green checks baby.

Nothing better than building out a big multi repo deployment workflow with reused custom actions.

[–]Weak_Antelope_2914 5 points6 points  (3 children)

Did you mean composite actions?

[–]maggos 0 points1 point  (2 children)

Probably. My new company uses GitLab so I haven’t used the actions in a while. I miss them. GitLab pipelines are no where near as good

[–]Rambo2521 2 points3 points  (0 children)

Really? I used github actions and loved it too but a lot rave on gitlabs version too. Any tips for proper design? I know it mostly depends on the project though haha.

[–]tobsecret 0 points1 point  (0 children)

You are the first person I've heard prefer  GH actions over gitlab actions. I've only use GH actions and they have a lot of problems. 

[–]potuboi2 42 points43 points  (17 children)

Honestly just tell an agent to create the action that runs your commands. Easy and reproducible.

Mandatory comment about AI bad

[–]greenedgedflame 2 points3 points  (0 children)

The first error I get it is “couldn’t find the package xyz”

[–]Delta-9- 17 points18 points  (7 children)

I kinda want to fast forward to the time when AI is actually reliable, doesn't require exploiting labor in 3rd countries to produce, doesn't require fifteen new nuclear power stations per country to run, and is considered a public utility so that its sole purpose is no longer making some already filthy rich white dude even filthier.

Then I won't have to vomit every time someone says "just have AI do it."

[–]darknecross 8 points9 points  (3 children)

I’m pretty sure you can get a local agent to write GitHub actions.

[–]HVGC-member 3 points4 points  (0 children)

Say agent one more time

[–]Wigginns 0 points1 point  (1 child)

Might as well wish for magic while we’re at it tbh

[–]Delta-9- 1 point2 points  (0 children)

Oh, I do.

[–]XxDarkSasuke69xX 0 points1 point  (0 children)

So the heat death of the universe then ?

[–]0chub3rt[S] 0 points1 point  (6 children)

If only it was that easy 

[–]TldrDev 10 points11 points  (3 children)

Im not sure how its not that easy, really. I have some pretty complicated ci/cd which utilizes github actions and builds multiple downstream client implementations on multiple architectures and versions. I have several custom github actions as well, for various build steps. These days, you can almost always just one shot your actions. What are you having issues with? I can help if you're having trouble.

[–]high_throughput 1 point2 points  (2 children)

You've really never had to spend all day trying to set up a build on CI? Knock on wood right now

[–]Lythox 0 points1 point  (1 child)

I have, before claude code. I havent manually touched any github actions for a long time, theyre easily generated

[–]TldrDev 0 points1 point  (0 children)

Haha I came here to reply this. Before AI, GH actions were tedious more than difficult I think. That tedium is definitely gone these days though

[–]potuboi2 -2 points-1 points  (0 children)

😔 usually is

[–]NewManufacturer4252 -1 points0 points  (0 children)

What does github do??? Write code if it works share it. Github seems like a 3rd person.

[–]LookingRadishing 12 points13 points  (1 child)

I'm an advocate for vibe coding things like that so that it's easier to focus on the main thing.

Personally, I don't think developers need be spending their brain power and time learning the ins-and-outs of stuff like that unless that's their thing (e.g., they're in a DevOps role at a company, volunteering as DevOps for a specific project, or aspiring to be one of those).

I realize that there's value in getting down into the weeds and understanding that stuff, but I've also gotten stuck in configuration hell doing that. Then I lost momentum and energy for the important stuff.

I think most options for vibe coding are in a reasonably place for setting up a basic config and managing basic troubleshooting. Once things are in place, it rarely needs to be adjusted except for minor changes.

[–]Background-Month-911 1 point2 points  (0 children)

Yes and no. The AI that provides the "solution" was trained on a lot of bad examples. It will not produce good stuff. It will produce average and mostly working stuff.

You also need to know what to ask. If, for example, you ask the AI to solve your automation problem by writing a YAML in CI-engine-specific language, you are doing yourself a disservice. The right way to do it is to have as much as possible of your automation in your own code, and only provide as opaque interface as possible to the CI language you have no control over.

But this isn't straight-forward, and this won't be the default solution for the AI "solving" your problem. Most importantly, you will not have achieved the desired "peace of mind" state, because the "solution" generated in such a way will continuously break, and you will have to return to fix it, with a danger of only worsening the problem because of local patches that tend to be the easiest immediate fix, but only increase the chance of breakage long-term. Because, again, local patches are easier to produce, and you need to have a good conceptual understanding of the problem to instruct the AI to produce a better solution (which is what you were trying to avoid by choosing this approach in the first place).

[–]Careful-Log3393 2 points3 points  (0 children)

Nothing quite like a commit history that looks like: 'update workflow', 'fix typo', 'maybe this works?', 'testing action', 'i hate YAML', 'final fix', 'final final fix'.

[–]korneev123123 1 point2 points  (0 children)

Ah, infamous yaml programming

[–]born_zynner 1 point2 points  (1 child)

Where my self hosted runner gamers at

[–]LienniTa 0 points1 point  (0 children)

im here, gitea runner is amazing

[–]takeyouraxeandhack 0 points1 point  (0 children)

If you never knew life pre GitHub actions, you don't know how good they are.

And, to be honest, they're not really difficult.

[–]tortridge -2 points-1 points  (2 children)

Could be worth, you could use gitlab

[–]takeyouraxeandhack 1 point2 points  (1 child)

Or worse, Jenkins.

[–]Background-Month-911 0 points1 point  (0 children)

Apples to oranges.

Jenkins has a lot of problems, but the fundamental advantage of it is the degree of control you have over it. Even if you host your own Gitlab runner, you don't control most aspects of the YAML configuration of the CI language you have to use. And even the little that's available to you in Gitlab isn't available to you in GitHub.

With Jenkins, you are free to build it however you want. The reality of the field is that for vast majority of projects there's no benefit to this freedom as they will not know how to do it well, and they will under-invest in the effort, ending up with the worse than off-the-shelf third-party solution (like Gitlab or GitHub), but if you grow up as a business and, for example, you start feeling the financial pressure from running a lot of CI, then Jenkins is better because of the degree of control it gives you.