Skip to content

Runner Docker image 2.235.0 fails: "v2.325.0 is deprecated" — bug or deprecation? #4019

@sabrinamorales-hotmart

Description

@sabrinamorales-hotmart

Describe the bug
We were running a self-hosted runner using the official Docker image 2.235.0 (pinned in our runner Dockerfile). It was working fine until it suddenly stopped receiving messages and fails with an access/deprecation error. The latest available image we see is 2.238.0, but the pinned 2.235.0 stopped working without any prior warning.

To Reproduce
Steps to reproduce the behavior:

  1. Build / run a runner based on the official Docker image tagged 2.235.0 (example Dockerfile line: FROM ghcr.io/actions/runner:2.235.0).
  2. Register the runner and make it available to receive jobs.
  3. Observe the runner logs — the listener fails with an AccessDenied / deprecation error.

Expected behavior
A runner image pinned to 2.235.0 should continue to function (or there should be a clear, prior deprecation/retirement notice and migration instructions). If images are being force-deprecated, a documented deprecation schedule or clear communication would be expected so we can plan upgrades.

Runner Version and Platform

2.235.0

OS of the machine running the runner? OSX/Windows/Linux/...

  • Docker container: Linux (built from official runner Dockerfile, multi-arch build with platforms linux/amd64 and linux/arm64)

What's not working?

The runner stops receiving messages and the listener logs the following error:

[RUNNER 2025-09-05 23:14:16Z ERR  Listener] GitHub.DistributedTask.WebApi.AccessDeniedException: Runner version v2.325.0 is deprecated and cannot receive messages.

Job Log Output

If applicable, include the relevant part of the job / step log output here. All sensitive information should already be masked out, but please double-check before pasting here.

Relevant log snippet we observed:

[RUNNER 2025-09-05 23:14:16Z ERR  Listener] GitHub.DistributedTask.WebApi.AccessDeniedException: Runner version v2.325.0 is deprecated and cannot receive messages.

Runner and Worker's Diagnostic Logs

If applicable, add relevant diagnostic log information. Logs are located in the runner's _diag folder. The runner logs are prefixed with Runner_ and the worker logs are prefixed with Worker_. Each job run correlates to a worker log. All sensitive information should already be masked out, but please double-check before pasting here.

Questions / clarification requested from maintainers

  • Was the 2.235.0 image (or the runner version referenced in the error) intentionally deprecated/retired by the project? If so, is there a deprecation/retirement calendar or policy (how long images remain supported after release)?
  • Is this behavior expected (i.e., forced deprecation) or is this a bug / accidental configuration on the server-side that caused older tags to be refused?
  • Is there a recommended mitigation or workaround for pinned images (e.g., must we always track the latest tag, is there a support window, or must we rebuild from source)?
    Thanks — this broke our production CI unexpectedly, so any guidance or confirmation would be appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions