Live data from Hacker News

GitHub Actions could be so much better

blog.yossarian.net

231–238 of 238 posts

Re: GitHub Actions could be so much better

#231
post #230

Earlier quoted context omitted.

> Why bother, when Dagger caches everything automatically? The fear with needing to run `npm ci` (or better, `pnpm install`) before running dagger is on the amount of time required to get this step to run. Sure, in the early days, trying out toy examples, when the only dependencies are from dagger upstream, very little time at all. But what happens when I start pulling more and more dependencies from the Node ecosyst…

> I think I have a reasonable fear that `npm ci` just for the Dagger pipeline will hit multiple minutes, and then developers who expect linting and similar short-run jobs to finish within 30 seconds are going to wonder why they're dealing with this overhead. I was going to reply that you misunderstand how Dagger works: that your pipeline logic typically requires very few dependencies, if any, since it can already hav…

> We will fix those guides accordingly, thank you for bringing this to my attention.

Great :D

I read a lot more of the documentation this morning, in general I really like what I see, but the clustering bit is the key missing point for me at the moment. My current employer produces an Electron desktop application - we need to run 90% of the tests on Linux (most cost-effective), and 5% each on a Windows and macOS machine. I see the Dagger CLI runs on both macOS and Windows, but the architecture as it stands today expects that the Dagger pipeline will run all its workloads on the same VM. If I want to run pipeline tasks on other VMs, I can do it from Dagger, treating the Dagger Engine as the orchestration layer which makes some kind of an IaaS or PaaS call to schedule the workload on a separate macOS or Windows VM, outside the Dagger architecture. But... today I expect that workload scheduling to happen within the CI/CD architecture (it's trivially expressible within GitHub Actions, particularly as GitHub Actions hosts both Windows and macOS runners), and needing to hoist it outside the CI/CD architecture in order to use Dagger is a needless complication.

Re: GitHub Actions could be so much better

#232

The git commit, push, wait loop is terrible UX. Users deserve portable pipelines that run anywhere, including their local machines. I understand Act [1] goes some way to solving this headache but it's by and large not a true representation. There are many pipelines you can't run locally, because they're production, for example, but there's no reason why we can't capture these workflows to run them locally at less-cri…

FYI garden.io’s landing page appears to be broken on iOS. It runs off the page to the right.

Thanks for flagging! We'll fix that.

Re: GitHub Actions could be so much better

#234

Earlier quoted context omitted.

you could always do git commit -m "" --allow-empty

git commit --amend --no-edit && git push -f

We may be splitting hairs given what this thread is going on about, but I strongly advocate for `--force-with-lease` as a sane default versus `-f` so that one does not blow away unexpectedly newer commits to the branch

The devil's in the details, etc, etc, but I think it's a _much_ more sane default, even for single-user setups/branches because accidents can happen and git DGAF

Re: GitHub Actions could be so much better

#235

GitHub Actions is a horrible CI/CD system. You cannot run steps in parallel on the same VM; container-based workloads are a second-class citizen. The first problem means that setting up local credentials and other environment dependencies cannot be parallelized (I'm looking at you, google-github-actions/setup-gcloud, with your 1m+ runtime... grrr), the second makes it quite difficult to put a Dockerfile in a reposito…

Have you seen Tekton? (https://tekton.dev/)

Re: GitHub Actions could be so much better

#236
post #101

This is why I want projects like Earthly to succeed: https://github.com/earthly/earthly I want to be able to run my all of CI workflows on my local machine. I agree with other commenters that most of what CI does should be abstracted out into scripts or other non-CI tools. Unfortunately it's not easy to do that for large pre-existing CI setups, especially if a different team is the one maintaining your CI workflows.

Isn't Earthly out of the picture now? https://earthly.dev/blog/shutting-down-earthly-ci/

Re: GitHub Actions could be so much better

#237
post #236
post #101

This is why I want projects like Earthly to succeed: https://github.com/earthly/earthly I want to be able to run my all of CI workflows on my local machine. I agree with other commenters that most of what CI does should be abstracted out into scripts or other non-CI tools. Unfortunately it's not easy to do that for large pre-existing CI setups, especially if a different team is the one maintaining your CI workflows.

Isn't Earthly out of the picture now? https://earthly.dev/blog/shutting-down-earthly-ci/

Nope. Only Earthly CI is.

Re: GitHub Actions could be so much better

#238
post #236
post #101

This is why I want projects like Earthly to succeed: https://github.com/earthly/earthly I want to be able to run my all of CI workflows on my local machine. I agree with other commenters that most of what CI does should be abstracted out into scripts or other non-CI tools. Unfortunately it's not easy to do that for large pre-existing CI setups, especially if a different team is the one maintaining your CI workflows.

Isn't Earthly out of the picture now? https://earthly.dev/blog/shutting-down-earthly-ci/

As @vladaionescu mentioned, Earthly is alive and well. We stopped the CI product exactly so we could focus on use cases like making Earthly in GitHub Actions better.
Post reply on HN