I ended up prototyping self hosted https://woodpecker-ci.org/ on my k8s cluster. Ended up taking just a few hours of AI time (Claude Code). Woodpecker has a helm chart, can connect to Github and post status checks to commits.

Open to feedback or tips and tricks on this, but so far it's looking promising. Curious how other folks experience has been.