News for hackers. Stuff that matters.
Re:GitHub Actions could be so much better by candiddevmike on Friday September 22, 2023 @11:46AM (#37613536)
If folks just had actions target make or bash scripts instead of turning actions into bash scripts none of this would be an issue. Your CI/CD and your devs should all use the same targets/commands like `make release`.
Re:GitHub Actions could be so much better by taeric on Friday September 22, 2023 @12:01PM (#37613731)
I'm actually confused and scared on how often this isn't the case? What are people doing in their actions that isn't easily doable locally?
Re:GitHub Actions could be so much better by baq on Friday September 22, 2023 @12:11PM (#37613861)
It's the cloud. Runners are ephemeral (pretend, but still) with no persistent storage. This makes you either rebuild everything in every release stage (bad) or put artifacts in s3 or whatever (also bad) - this is especially painful for intermediate artifacts like dependency bundle caches etc.

As much as I like make it just doesn't work with the typical cloud stateless by default configs. If it works for you, your project is small enough and try to keep it this way.

Re:GitHub Actions could be so much better by ZeWaka on Friday September 22, 2023 @12:40PM (#37614229)
> with no persistent storage

There's https://github.com/actions/cache though?

Re:GitHub Actions could be so much better by dcow on Friday September 22, 2023 @12:48PM (#37614334)
They're saying that unless you use actions, you don't get the cohesive cache and artifacts support. That replicating that in the cloud or locally is a PITA. Thus people are using the GH actions vendor specific tooling in that way.
Re:GitHub Actions could be so much better by taeric on Friday September 22, 2023 @12:20PM (#37613987)
Rebuilding at every stage shouldn't be too bad, with pinned dependencies. I can see problems with it, of course. That said, using a private code publishing location seems the correct path? That isn't too difficult to setup, is it?

That said, I'm still not clear on what difficulties folks are worried about. I'm also not clear I care on the mess of commits getting things working. The initial commits of getting anything working are almost always a mess. Such that worrying about that seems excessive.

Re:GitHub Actions could be so much better by plonk on Friday September 22, 2023 @03:32PM (#37616620)
Just run the GitHub cache action on your build directory and then run make inside it?
Re:GitHub Actions could be so much better by ghayes on Friday September 22, 2023 @12:10PM (#37613849)
A huge portion of my actions are for things like caching or publishing artifacts, which are unique to actions itself.
Re:GitHub Actions could be so much better by taeric on Friday September 22, 2023 @12:35PM (#37614183)
I'd assume you would be able to publish and deploy locally before setting up actions. Such that those are likely targets in your build system?

Caching, I can mostly understand as unique there. Though, I think I'm living with whatever the default stuff in actions is. Slow for builds that don't happen often, of course, but not so slow that I care.

Re:GitHub Actions could be so much better by Tainnor on Friday September 22, 2023 @07:19PM (#37619034)
Unfortunately, my team has some builds that take ~25 min without caching and maybe 2 min with caching.

I'm still not entirely sure why it's the case, but the connection to the package registry is incredibly slow, so downloading all dependencies takes forever.

Re:GitHub Actions could be so much better by taeric on Friday September 22, 2023 @07:51PM (#37619247)
I'm fortunate that worrying about 25 minute builds just doesn't matter. The long pole on all builds is still the code review that goes with it, such that I just don't care about getting that time too low here.

That is, I am assuming that a CI build is not on the immediate dev loop, such that the person pushing it doesn't have to wait for the build before they prepare a review on it.

Re:GitHub Actions could be so much better by duped on Friday September 22, 2023 @02:27PM (#37615765)
Why should caching in the cloud be any different than caching locally?
Re:GitHub Actions could be so much better by baq on Friday September 22, 2023 @02:35PM (#37615889)
There isn’t any locally in GHA after the runner exits
Re:GitHub Actions could be so much better by ramraj07 on Friday September 22, 2023 @12:17PM (#37613949)
All the linting checks and end to end tests I don’t want to bother setting up locally for every repo I touch.
Re:GitHub Actions could be so much better by taeric on Friday September 22, 2023 @12:34PM (#37614163)
Aren't these just other targets in whatever build system you are using, though?
Re:GitHub Actions could be so much better by thiht on Saturday September 23, 2023 @03:21AM (#37621294)
Well… yeah?

My GitHub actions workflow consist of calls to make lint, make test, make build, etc. Everything is useable in local.

There’s just some specificities when it comes to boot the dependencies (I use a compose file in local and GitHub action services in CI, I have caching in CI, etc.) but all the flows use make.

This is not a technical problem, you’re just doing it wrong if you don’t have a Makefile or equivalent.

Re:GitHub Actions could be so much better by globular-toast on Saturday September 23, 2023 @03:49AM (#37621417)
This is how it should be done. It was trivial to port my company's CI from Jenkins to Gitlab because we did this.

Confusion arises when developers don't realise they are using something in their local environment, though. It could be some build output that is gitignored, or some system interpreter like Python (especially needing a particular version of Python).

Luckily with something like Gitlab CI it's easi to run stuff locally in the same container as it will be run in CI.