Detect incompatible step and plugin image architectures earlier #4

Open
opened 2026-05-03 06:21:53 +00:00 by lambadalambda · 0 comments

Problem

A Docker manifest combine plugin was scheduled on an armv7 runner and failed with:

exec /custom/wpc-docker-tagger.sh: exec format error

The workflow itself had no platform label at the time, so Woodpecker scheduled it on an incompatible architecture. The failure was technically correct, but late and opaque.

Desired behavior

Woodpecker should provide a clearer failure mode for architecture-incompatible images, for example:

  • preflight check step/plugin image manifests against the selected agent platform
  • warn or fail before execution if the image lacks a matching manifest
  • include the selected platform and image supported platforms in the error
  • optionally let workflows declare that plugin steps must run on a specific platform

Why this matters

Plugin images are often less multi-arch than normal build images. Scheduling them on an unsupported architecture creates confusing runtime failures that look like broken plugins rather than a scheduler/image compatibility issue.

## Problem A Docker manifest combine plugin was scheduled on an armv7 runner and failed with: ```text exec /custom/wpc-docker-tagger.sh: exec format error ``` The workflow itself had no platform label at the time, so Woodpecker scheduled it on an incompatible architecture. The failure was technically correct, but late and opaque. ## Desired behavior Woodpecker should provide a clearer failure mode for architecture-incompatible images, for example: - preflight check step/plugin image manifests against the selected agent platform - warn or fail before execution if the image lacks a matching manifest - include the selected platform and image supported platforms in the error - optionally let workflows declare that plugin steps must run on a specific platform ## Why this matters Plugin images are often less multi-arch than normal build images. Scheduling them on an unsupported architecture creates confusing runtime failures that look like broken plugins rather than a scheduler/image compatibility issue.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pleroma/woodpecker#4
No description provided.