Skip to content

Incorrectly calculated runner count from jobs, causes increased Queued time #4230

@strowk

Description

@strowk

Checks

Controller Version

0.12.0

Deployment Method

Helm

Checks

  • This isn't a question or user support case (For Q&A and community support, go to Discussions).
  • I've read the Changelog before submitting this issue and I'm sure it's not due to any recently-introduced backward-incompatible changes

To Reproduce

0. Configure runner set with max amount of runners > 1
1. Create Github workflow and push two commits in the same branch
2. Notice that two workflow runs are created, but only one starts
3. Check controller logs, showing this : `Calculated target runner count    {"assigned job": 0, "decision": 1, "min": 0, "max": 4,`

Describe the bug

Only one ephemeral runner is created. Second job is stuck in Queued until first one is finished.

Describe the expected behavior

Expectation is that in this case controller would decide to run 2 runners, not only 1.

Additional Context

I did not configure anything that would limit amount of runners per branch and I don't think this had behaved like this before, so it seems like recent degradation.
I tried restarting both controller and listener, this does not fix the issue, second workflow run was still waiting for until the first one was done.

Controller Logs

2025-08-27T12:56:45Z	INFO	EphemeralRunnerSet	Ephemeral runner counts	{"version": "0.12.0", "ephemeralrunnerset": {"name":"linux-arm64-selfhosted-g6pbp","namespace":"github-arc-private-runner"}, "pending": 0, "running": 1, "finished": 0, "failed": 0, "deleting": 0}
2025-08-27T12:56:45Z	INFO	EphemeralRunnerSet	Scaling comparison	{"version": "0.12.0", "ephemeralrunnerset": {"name":"linux-arm64-selfhosted-g6pbp","namespace":"github-arc-private-runner"}, "current": 1, "desired": 1}
2025-08-27T12:57:35Z	INFO	EphemeralRunnerSet	Ephemeral runner counts	{"version": "0.12.0", "ephemeralrunnerset": {"name":"linux-arm64-selfhosted-g6pbp","namespace":"github-arc-private-runner"}, "pending": 0, "running": 1, "finished": 0, "failed": 0, "deleting": 0}
2025-08-27T12:57:35Z	INFO	EphemeralRunnerSet	Scaling comparison	{"version": "0.12.0", "ephemeralrunnerset": {"name":"linux-arm64-selfhosted-g6pbp","namespace":"github-arc-private-runner"}, "current": 1, "desired": 1}
2025-08-27T12:57:35Z	INFO	AutoscalingRunnerSet	Find existing ephemeral runner set	{"version": "0.12.0", "autoscalingrunnerset": {"name":"linux-arm64-selfhosted","namespace":"github-arc-private-runner"}, "name": "linux-arm64-selfhosted-g6pbp", "specHash": "6d4c5855dc"}
2025-08-27T12:58:26Z	INFO	AutoscalingRunnerSet	Find existing ephemeral runner set	{"version": "0.12.0", "autoscalingrunnerset": {"name":"linux-arm64-selfhosted","namespace":"github-arc-private-runner"}, "name": "linux-arm64-selfhosted-g6pbp", "specHash": "6d4c5855dc"}
2025-08-27T12:58:26Z	INFO	EphemeralRunnerSet	Ephemeral runner counts	{"version": "0.12.0", "ephemeralrunnerset": {"name":"linux-arm64-selfhosted-g6pbp","namespace":"github-arc-private-runner"}, "pending": 0, "running": 1, "finished": 0, "failed": 0, "deleting": 0}
2025-08-27T12:58:26Z	INFO	EphemeralRunnerSet	Scaling comparison	{"version": "0.12.0", "ephemeralrunnerset": {"name":"linux-arm64-selfhosted-g6pbp","namespace":"github-arc-private-runner"}, "current": 1, "desired": 1}
2025-08-27T12:59:16Z	INFO	AutoscalingRunnerSet	Find existing ephemeral runner set	{"version": "0.12.0", "autoscalingrunnerset": {"name":"linux-arm64-selfhosted","namespace":"github-arc-private-runner"}, "name": "linux-arm64-selfhosted-g6pbp", "specHash": "6d4c5855dc"}
2025-08-27T12:59:16Z	INFO	EphemeralRunnerSet	Ephemeral runner counts	{"version": "0.12.0", "ephemeralrunnerset": {"name":"linux-arm64-selfhosted-g6pbp","namespace":"github-arc-private-runner"}, "pending": 0, "running": 1, "finished": 0, "failed": 0, "deleting": 0}
2025-08-27T12:59:16Z	INFO	EphemeralRunnerSet	Scaling comparison	{"version": "0.12.0", "ephemeralrunnerset": {"name":"linux-arm64-selfhosted-g6pbp","namespace":"github-arc-private-runner"}, "current": 1, "desired": 1}
2025-08-27T13:00:06Z	INFO	EphemeralRunnerSet	Ephemeral runner counts	{"version": "0.12.0", "ephemeralrunnerset": {"name":"linux-arm64-selfhosted-g6pbp","namespace":"github-arc-private-runner"}, "pending": 0, "running": 1, "finished": 0, "failed": 0, "deleting": 0}
2025-08-27T13:00:06Z	INFO	EphemeralRunnerSet	Scaling comparison	{"version": "0.12.0", "ephemeralrunnerset": {"name":"linux-arm64-selfhosted-g6pbp","namespace":"github-arc-private-runner"}, "current": 1, "desired": 1}
2025-08-27T13:00:06Z	INFO	AutoscalingRunnerSet	Find existing ephemeral runner set	{"version": "0.12.0", "autoscalingrunnerset": {"name":"linux-arm64-selfhosted","namespace":"github-arc-private-runner"}, "name": "linux-arm64-selfhosted-g6pbp", "specHash": "6d4c5855dc"}
2025-08-27T13:00:56Z	INFO	AutoscalingRunnerSet	Find existing ephemeral runner set	{"version": "0.12.0", "autoscalingrunnerset": {"name":"linux-arm64-selfhosted","namespace":"github-arc-private-runner"}, "name": "linux-arm64-selfhosted-g6pbp", "specHash": "6d4c5855dc"}
2025-08-27T13:00:56Z	INFO	EphemeralRunnerSet	Ephemeral runner counts	{"version": "0.12.0", "ephemeralrunnerset": {"name":"linux-arm64-selfhosted-g6pbp","namespace":"github-arc-private-runner"}, "pending": 0, "running": 1, "finished": 0, "failed": 0, "deleting": 0}
2025-08-27T13:00:56Z	INFO	EphemeralRunnerSet	Scaling comparison	{"version": "0.12.0", "ephemeralrunnerset": {"name":"linux-arm64-selfhosted-g6pbp","namespace":"github-arc-private-runner"}, "current": 1, "desired": 1}

Runner Pod Logs

These are not captured in my deployment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggha-runner-scale-setRelated to the gha-runner-scale-set modeneeds triageRequires review from the maintainers

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions