How come Bun uses Buildkite instead of self-hosting the CI infra?

It spawns ephemeral EC2/Azure instances, which is a lot cheaper than the GitHub actions runners we used before that.

We shard to a lot of machines for tests and I’d be worried about running out if we used dedicated servers.

BuildKite is fine but I wouldn’t be that surprised if we move off of BuildKite to a custom thing at some point. Months ago, we switched from CMake to a handrolled typescript build system and it made our builds faster and simpler.

Thanks for answering!

I suppose my second question would be how much Bun spends on CI per month atm - I'd imagine that robobun would have ramped up the bill a fair bit

you don't need buildkite or blacksmith anymore.

codex trivially built me a self-hosted gh actions runner workflow for ephemeral vm's (just a big bash script that manages the vms with qemu). i even sped up the builds with my own custom base image with everything installed in it that i need too.

it works flawlessly.

fanning that out to starting and stopping instances wouldn't be too much of a stretch.

Does it work with macOS ?

weird question, i don't see why not. osx has a fantastic virtualization story.

https://developer.apple.com/documentation/virtualization/run...

Presumably because they "build for [macOS, Linux, FreeBSD, Android, Windows] x [ARM64, x64]" and self hosting all of that would be time-consuming and expensive.

Probably because they don't want to self-host Windows or MacOS servers when they can pay someone else to do that for them (or Linux ones, I assume that is within their wheelhouse for production but CI is a bit of a different beast to model inference).