this post was submitted on 14 Jan 2026
46 points (92.6% liked)

Technology

79236 readers
2343 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related news or articles.
  3. Be excellent to each other!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
  9. Check for duplicates before posting, duplicates may be removed
  10. Accounts 7 days and younger will have their posts automatically removed.

Approved Bots


founded 2 years ago
MODERATORS
 

I can’t overstate how much I hate GitHub Actions. I don’t even remember hating any other piece of technology I used. Sure, I still make fun of PHP that I remember from times of PHP41, but even then I didn’t hate it. Merely I found it subpar technology to other emerging at the time (like Ruby on Rails or Django). And yet I hate GitHub Actions.
With Passion2.

Road to Hell
Day before writing these words I was implementing build.rs for my tmplr project. To save you a click - it is a file/project scaffold tool with human readable (and craftable) template files. I (personally) use it very often, given how easy it is to craft new templates, by hand or with aid of the tool, so check it out if you need a similar tool.

you are viewing a single comment's thread
view the rest of the comments
[–] yaroto98@lemmy.world 17 points 1 week ago* (last edited 1 week ago) (14 children)

Huh, I was expecting more. There's so much to hate with github actions!

  • Sometimes you can pass a list, or boolean, but for composite actions you can only pass strings.
  • Open bugs that github actions just doesn't care to fix (I've run across about 3). Most recently, concurrency flag cancel_in_progress doesn't work, and they aren't fixing it.
  • variables often not accessable until next step.
  • API is slow to update. Running jobs querying themselves won't see themselves as running 50% of the time
  • Inability to easily pass vars from one job to another. (output in step, output from job, needs, call) it's 4 lines of code to get a single var accessable in another job.
  • UI doesn't show startup errors. Depending on the error if you make a dumb syntax error in the workflow file, the UI will just say failed to startup. Won't tell you what happened, won't even link it to your PR which kicked it off, you have to go hunting for it.
  • Workflow Dispatch is a joke. Can't run it in a branch, no dynamic inputs, no banners.
  • Can't run schedules in branches.
  • Inconsistent Event Data labels and locations across triggers. Want to get the head sha? It's in a different place for each trigger, same for so many things.
  • Merge Queues have the worst Event Data. They run off a autogenerated branch, and so they fill everything in with actor=mergequeuebot and garbage that is unhelpful. Good luck trying to get the head sha and look up the real info like say the branch name you're merging in. You have to parse it out from a head_ref's description or some junk.
  • No dynamic run names. Well, you can, but you have to call the api and update it. It's a hassle. Why not just let me toss in an @actor, or @branch in the run name? That way when a dev is looking for their instance of "Build Job" from a massive list, they can actually find theirs.
  • garbage documentation

I could go on. I do CI/CD for work and gha is the tool they are having us use. I have no say in the matter.

[–] jjjalljs@ttrpg.network 6 points 1 week ago (2 children)

There's not to my knowledge a good way to run/test GitHub actions locally. So if I want to verify my change uploads the coverage report after the end of the pipeline, I have to run the whole thing. And then I find an error because on the GitHub runner blah blah is different

[–] yaroto98@lemmy.world 3 points 1 week ago

You can install the github actions runner locally and use it, however all that does is eat your cpu cycles and prevent them from charging you. It doesn't help you debug that blackbox at all.

The best way I found to do this is by commenting out the portions of the build that take the longest.

Which is stupid, but that's what you get with Microsoft products.

(I get that there may be ways to test this locally, but I found this method to be the easiest.)

load more comments (11 replies)