5 ms·
Every mention of Github Actions is an occasion to start looking for the best alternative in <current_month>, let's go! Is Dagger usable yet? Is there still hop
by Kinrany 1y ago
Every mention of Github Actions is an occasion to start looking for the best alternative in <current_month>, let's go!
Is Dagger usable yet? Is there still hope for Earthly? Are general purpose workflow systems winning any time soon, or are we still afraid of writing code? Any new systems out there that cover all the totally basic features like running locally, unlike Github Actions?
- manx 1y agoI think we could build something on top of nix that is as easy to use and powerful as earthly, but gets all the nice stuff from nix: reproducibility, caching, just use any command from any nix package, etc
- asdffdasy 1y agothat's actually the only good use for nix.
- pxc 1y agoI built something like this out using an old version of Dagger and found it enormously complicated, and the they rewrote everything and abandoned the version of Dagger I used. When I they did, I said "fuck it" and just started distributing a Nix flake with wrappers for all the tools I want to run in CI so that at least that part gets handled safely and is easy to run locally. The worst and most annoying stuff to test is the CI platforms' accursed little pseudo-YAML DSLs. I still would like that piece. devenv.sh tasks might be a good basis for building on it. I think maybe bob.build also wants to be like this
- sea-gold 1y agoIn addition to https://devenv.sh https://devenv.sh and https://bob.build https://bob.build , here are 2 others that are based on Nix. - https://flox.dev https://flox.dev - https://www.jetify.com/devbox https://www.jetify.com/devbox
- pxc 1y agoYes! I knew that those are comparable to devenv.sh (what my team uses; love it!) in terms of environment management but wasn't yet aware of whether or not they also have task runners like one might use to build CI/CD pipeline logic. I also want to say that this approach has largely spared my team the pain many users seem to have with Docker on aarch64 Macs. Nix works well on both aarch64 and x86_64, and doesn't require emulation to run. This is really more appropriate for running development tools locally, I think.
- z_mitchell 1y agoThat's mostly what we've built with Flox [1] (though I'm not exactly sure what you mean by run any command from any Nix package). It looks and feels like an amped up package manager, but uses Nix as kind of an infrastructure layer under the hood. Here's a typical workflow for an individual developer: - cd into repo - `flox activate` -> puts you into a subshell with your desired tools, environment variables, services, and runs any setup scripts you've defined - You do your work - `exit` -> you're back in your previous shell Setting up and managing an environment is also super easy: - cd into project directory - `flox init` -> creates an "environment" - `flox install python312` -> installing new packages is very simple - `flox edit` -> add any environment variables, setup scripts, services in an editor - `flox activate` -> get to work The reason we call these "environments" instead of "developer environments" is that what we provide is a generalization of developer environments, so they're useful in more than just local development contexts. For example, you can use Flox to replace Homebrew by creating a "default" environment in your home directory [2]. You can also bundle an environment up into a container [3] to fit Flox into your existing deployment tools, or use Flox in CI [4]. All that stuff I described is free, but we have some enterprise features in development that won't be, and I think people are going to find those very appealing. [1] https://flox.dev https://flox.dev [2] https://flox.dev/docs/tutorials/migrations/homebrew/ https://flox.dev/docs/tutorials/migrations/homebrew/ [3] https://flox.dev/docs/reference/command-reference/flox-containerize/ https://flox.dev/docs/reference/command-reference/flox-conta... [4] https://flox.dev/docs/tutorials/ci-cd/ https://flox.dev/docs/tutorials/ci-cd/
- esafak 1y agoearthly is config-based, so it's in the same league as GHA in my book. https://docs.earthly.dev/docs/earthly-config https://docs.earthly.dev/docs/earthly-config dagger is the only code-based solution. It works, but it does have some edges since it has a much bigger surface area and is constantly growing.
- shepherdjerred 1y agoThat's not really related... that config is machine specific, not really related to CI. This is what Earthfiles look like: https://docs.earthly.dev/docs/earthfile https://docs.earthly.dev/docs/earthfile
- tomrod 1y agoHow's Jenkins looking these days?
- h4kunamata 1y agoWith Git Actions at full speed..... it is dying.
- tomrod 1y agoEvery org I have spoken with recently are in GH action cost reduction mode -- which always, always, always causes issues. Jenkins too going away, but, like Windows XP, people often reach back out for it.
- hybrid_study 1y agonyuk, nyuk, nyuk
- Sleaker 1y agoSeems fine to me, I don't really understand why people think CI is hard and they need to shop a different platform. All these systems are is a glorified shell script runner. It seems like developers just keep making up new DSLs over and over to do the same things.
- Groxx 1y agoMore yaml will surely save us
- tayo42 1y agoI wish jenkins had a better config as code option. Not crazy about groovy and you still need to click in the UI to get some set up before you can use. Maybe im stuck with an old version or something I mostly like Jenkins though, idk why people so desperately want to always move to something new. I guess I've never been on the maintenance side of running Jenkins for thousands of engineers though.
- 1y ago
- ed_mercer 1y agoCan’t beat GitLab
- akshayshah 1y agoEarthly has pivoted away from their CI/CD products: they’re shutting down Satellite, and they’re stopping active maintenance of the Earthly open source project. https://earthly.dev/blog/shutting-down-earthfiles-cloud/ https://earthly.dev/blog/shutting-down-earthfiles-cloud/
- globular-toast 1y agoGitlab? It's been around longer than Actions, it's much better and honestly not sure why anyone would consider anything else (but happy to hear if there are reasons).
- asdffdasy 1y agobecause they didn't keep sha1 and so it's not promoted as heavily as gh. /me puts tinfoilhat
- m_mueller 1y agoLet me throw another one out there: how about TeamCity on premise? Still can be done for free and the last time I used it (years ago) it left a very complete, stable and easy to use impression on me. Jenkins by comparison seems heavy and complicated.
- cobbzilla 1y agoGitea can be easily self-hosted and supports Gitea Actions, which are largely compatible with GitHub Actions. I’m about to try it out. https://docs.gitea.com/next/usage/actions/overview https://docs.gitea.com/next/usage/actions/overview
- mdaniel 1y agoIn the context of this submission, one will want to exercise caution because they and their forgejo friends are using forks of nektos/act, with all the caveats of both "act" and "fork" https://gitea.com/gitea/act https://gitea.com/gitea/act -> https://gitea.com/gitea/act_runner https://gitea.com/gitea/act_runner https://code.forgejo.org/forgejo/act https://code.forgejo.org/forgejo/act -> https://code.forgejo.org/forgejo/runner https://code.forgejo.org/forgejo/runner
- shepherdjerred 1y agoI think Earthly is dead, but Dagger seems to be healthy still... Earthly was amazing. The exact same setup in CI and locally. They're reviving it with a community effort, but I'm not sure if it'll live