If your code is on GitHub, GitHub Actions is less to run and nothing to migrate; CircleCI earns its place when you want timing-based test splitting and a wide range of executors built in. If Actions is simply too slow, a runner layer fixes that without moving.
GitHub Actions is less to own: GitHub runs the runners and the system. Buildkite gives you control of every machine that runs a job, which pays off for large monorepos and teams with a platform group, and costs you the work of running a fleet.
Pick the one built into the platform your code already lives on. Both are capable; the real cost of switching is moving repositories, reviews and permissions, not the CI config.
For a team starting today, GitHub Actions is less work: nothing to install or patch. Jenkins still fits teams that must keep everything on their own network and already have people who run it well.
CircleCI is hosted CI with test splitting built in; Buildkite hands you the machines. Choose CircleCI to run less infrastructure, Buildkite to control all of it.
Ways to speed up the GitHub Actions workflows you already have.