Trouble getting started with self-hosted runner

I’m trying to get a poc setup for a self hosted runner.

I’ve created a namespace and resource class using the api
I’ve installed the linux runner on a vm.
the runner starts and journalctl confirms its running.

however a simple “hello world” circleci config which works fine when run in the cloud fails when i add the resource_class parameter to the job. I just get a vague error

We were unable to run this job. Please check your configuration and try again.

I don’t believe the job ever reaches the runner, at least the runner never logs anything to say its received the job.

We’re on the performance plan, which if i read recent announcements and the pricing feature page correctly means we should be able to now run 20 self hosted runners.

Sorry, not a solution. I’m having the same issue at the moment.
I can confirm that the server with the runner on it has the service running, and never received any job.

How did you set the executor ?


Today, Runner only supports the “machine” executor. You can see the instructions for setting the machine executor on this docs page:

And the executor needs to have all needed tools installed, right ? Or it can run a docker image ?

You unfortunately cannot use our “Docker executor” with our self-hosted Runners today, only “machine” executors. CircleCI Runner Installation on Kubernetes - CircleCI → these docs are the recommended approach to use Docker and self-hosted Runners.

We are actively investigating how to support Docker executors with self-hosted Runners, see this Canny for details: Docker Based Runner for Behind-The-Firewall use | Voters | CircleCI Ideas. We’ll update when we have more.