Buildkite's problem is they only support git, unfortuantely.
Re:How a Jenkins Job Broke our Jenkins UI
by danielheath on Friday June 04, 2021 @10:06PM
(#27401294)
https://buildkite.com/docs/agent/v3/hooks indicates you can override the builtin git support with your own checkout system. Sucks having to write a plug-in but it should be short.
Somebody already has, for perforce:
They don't get access to your code (BYO runners, they manage pipeline config / logs / notifications). You run their (open source, easy to build yourself) agent on infrastructure you control.
It's really nicely put together.