Smokeweb: Setting up a CI with Go Caches in Woodpecker

In my $dayjob, I’m a build engineer in the CI team of a large company. So I’m reasonably confident that this is going to be only the first post in a long series on the CI setup for my Smoking project. I like CIs and the automated testing they come with. I think it was one of the better ideas the tech industry has come up with. I’m seeing its benefit every day at work. So I also have CIs for most of my private projects. ...

March 18, 2026 · 6 min · Michael

Improving Multi-Arch Image Build Performance by not Emulating

Wherein I update my container image build pipeline in Woodpecker with buildah. A couple of weekends ago, I naively thought: Hey, how about stepping away from my Tinkerbell experiments for a weekend and quickly setting up a Bookwyrm instance? As such things tend to turn out, that rookie move turned into a rather deep rabbit hole, mostly on account of my container image build pipeline not really being up to snuff. The current setup Before going into details on the problem and ultimate solution, I’d like to sketch out my setup. For a detailed view, have a look at this post. ...

August 16, 2025 · 20 min · Michael
The HashiCorp Nomad and Kubernetes logos, connected with an arrow pointing from Nomad to Kubernetes

Nomad to k8s, Part 15: Migrating my CI

Wherein I migrate my Drone CI setup on Nomad to a Woodpecker CI setup on k8s. This is part 16 of my k8s migration series. Finally, another migration blog post! I’m still rather happy that I’m getting into it again. For several years now, I’ve been running a CI setup to automate a number of tasks related to some personal projects. CI stands for Continuous Integration, and Wikipedia says this about it: ...

January 26, 2025 · 27 min · Michael