Sometimes, I wish I was anything else than a CI/Build engineer in my $dayjob. Because then I might be able to run an entire programming project without setting up an entire CI for a small, purely private project.

Above thought triggered by me now looking into configuring a Woodpecker CI job to mount a volume for storage of a Go build cache to speed up my build jobs. Of a ~250 line project. 🤦

#Golang #WoodpeckerCI

The thought "Hm, I should really write a Woodpecker plugin to cleanup the Go module and build caches" has just crossed my mind.

I'm officially asking to send help. Preferably a burly person with a big club to hit me smartly around the head with.

First result: Reduced the build time for (sequential) ARM+x86_64 builds from about two minutes to 25 seconds by adding a go build cache.

And the module cache also works nicely.

Left for tomorrow: Coming up with some nice idea for cleanup jobs. Perhaps just a check on the PVC's utilization and nuking the caches entirely at e.g. >90%? It doesn't look like there's cache cleanup like in CCache, sadly.

#Golang #WoodpeckerCI

@mmeier I think that's beautiful and worth it 😃
@mmeier now I'm just trying to build everything with dagger 😅