Yes, I was thinking of changing the pipeline to respond to only tags for outputs. Then i can just set a release tag when I am ready to send it to a fab.
This is what I'm doing. Though it does break down for smaller projects where I had combined firmware and electronics design in the same repository (not a great idea in retrospect).
That rapidly becomes a rough ride - especially when you've got different groups writing hardware and firmware independent of one another, but pushing to the same repo.
I've used kicad professionally for about three years now. That brief phase of using CI was in my current employer and we had some confusing weeks where no one knew which sch version was the right one.
Being able to share out autogenerated schematics is one of those rare cases where CI hinders you rather than helps you.
I'm sort of tunneling in on this one facet though. This is great work and I'll be reading it more closely when I get off the plane. I'll probably grab some of your kibot configs for myself!