I'll think twice before using GitHub Actions again

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers
Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries.
www.nutrient.io
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
  1. act

    Run your GitHub Actions locally 🚀

    Not sure if I am missing something but you can definitely run (some?) GH actions locally with act: https://github.com/nektos/act

    Seen a couple posts on here say otherwise.

  2. Nutrient

    Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers. Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries.

    Nutrient logo
  3. meta

    tool for turning many repos into a meta repo. why choose many repos or a monolithic repo, when you can have both with a meta repo?

    Guessing it's https://github.com/mateodelnorte/meta googlefu "meta github repo"

  4. NATS

    High-Performance server for NATS.io, the cloud and edge native messaging system.

    hey thanks!

    definitely interesting!

    I do wonder if this really solves the author problem because by the looks of it , you just have to run meta command and it would run over each of the sub directory. While at the same time , I think I like it because this is what I think people refer to as "modular monolith"

    Combining this with nats https://nats.io/ (hey if you don't want it to be over the network , you could use nats with the memory model of your application itself to reduce any overhead) and essentially just get yourself a really modular monolith in which you can then seperate things selectively (ahem , microservices) afterwards rather easily.

  5. mise

    dev tools, env vars, task runner

    theoretically we could also use https://just.systems/ or https://mise.jdx.dev/ instead of directly calling gh actions but I haven't tried gh actions personally yet , If its really the nightmare you are saying , then that's sad.

  6. just

    🤖 Just a command runner

    theoretically we could also use https://just.systems/ or https://mise.jdx.dev/ instead of directly calling gh actions but I haven't tried gh actions personally yet , If its really the nightmare you are saying , then that's sad.

  7. runner

    The Runner for GitHub Actions :rocket:

    I realky wish they supported yaml anchors. That woukd resove one of the gripes, which I share.

    https://github.com/actions/runner/issues/1182

  8. gabo

    GitHub Actions Boilerplate Generator

    There are a lot of subtle pitfalls as well. Like no default timeouts, excess permissions etc.

    I wrote about it in detail https://ashishb.net/tech/common-pitfalls-of-github-actions/

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  10. gitlab-ci-local

    Tired of pushing to test your .gitlab-ci.yml?

    Oh, yeah, I remember looking at that a while back. I don't recall how much it had implemented at the time but it seems that firecow took a vastly different approach than nektos/act did, going so far as to spend what must have been an enormous amount of time/energy to cook up https://github.com/firecow/gitlab-ci-local/blob/4.56.2/src/s... (and, of course, choosing a dynamically typed language versus golang)

  11. bors

    Integration robot for buildbot and github

    That sounds roughly like what happens for Rust. I write a Rust PR, somebody reviews it, they have feedback, I modify the PR, they're happy, and it passes to bors (originally: https://github.com/graydon/bors) which then tries to see whether this can be merged with Rust and if so does so.

    It is nice to know that if humans thought your change is OK, you're done. I've only committed small changes (compiler diagnostics, documentation) nothing huge, so perhaps if you really get up in it that's more work, but it was definitely a pleasant experience.

    ... and sure enough it turns out that work on one of the bors successors was in fact discontinued because you should just use this GitHub feature. TIL.

  12. nx

    Build system, optimized for monorepos, with AI-powered architectural awareness and advanced CI capabilities.

    Caching and sharing artifacts is usually the main culprit. My company has been using https://nx.dev/ for that. It works locally as well and CI and it just works.

    Our NX is pointed to store artifacts in GHA, but our GHA scripts don't do any caching directly, it is all handled by NX. It works so well I would even consider pulling a nodejs environment to run it in non-nodejs projects (although I haven't tried, probably would run into some problems).

    It is somewhat heavy on configuration, but it just moves the complexity from CI configuration to NX configuration (which is nicer IMO). Our CI pipelines are super fast if you don't hit one of one of our slow compilling parts of the codebase.

    It is quite interesting is that your local dev environment can pull the cached items there were build from previous CI ran-jobs or other devs. We have some native C++ dependencies that are kind of a pain to build locally, our dev machines can pull the built binaries built by other devs (since all devs and CI also share the same cache-artifacts storage). So it makes developing locally a lot easier as well, I don't even remember last time I had to build the native C++ stuff myself since I don't work on it.

  13. gha-runner

    Run Github Actions workflows locally or on a custom backend

    there's:

    https://github.com/Pernosco/gha-runner

    but I'm not sure how complete it is, and probably doesn't satisfy the author's use cases

  14. sparky

    Sparky is a flexible and minimalist continuous integration server and distribute tasks runner written in Raku.

    Many if not all mentioned issues derive from the fact that nowadays pipelines are most of the time - YML based - which is terrible choise for programming , you might want take a look at Sparky which is 100% Raku cicd system thst does not have many of mentioned pitfalls and super flexible …

    Disclaimer I am the tool author - https://github.com/melezhik/sparky

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Setting Up Gitea on AlmaLinux 9

    1 project | dev.to | 29 Jan 2025
  • Act: Run your GitHub Actions locally

    1 project | news.ycombinator.com | 20 Jan 2025
  • Run your GitHub Actions locally

    1 project | news.ycombinator.com | 1 Jan 2025
  • Gitea 1.22 is the last version to allow a transparent ugprade to Forgejo

    4 projects | news.ycombinator.com | 18 Dec 2024
  • Gitlab names Bill Staples as new CEO

    1 project | news.ycombinator.com | 6 Dec 2024