@@ -27,11 +27,11 @@ conditions, permissions, secrets, target selection, metadata inputs, and the
2727choice between image output and local output.
2828
2929Inside the reusable workflow, the first phase prepares the build. It validates
30- the incoming inputs, resolves the appropriate runner, and expands a
31- multi-platform request into one job per platform. The execution model is
32- easiest to picture as a matrix where ` linux/amd64 ` runs on ` ubuntu-24.04 ` and
33- ` linux/arm64 ` runs on ` ubuntu-24.04-arm ` . Each platform job builds independently,
34- then the workflow finalizes the result into one caller-facing output contract.
30+ the incoming inputs, resolves the runner config , and expands a multi-platform
31+ request into one job per platform. The execution model is easiest to picture as
32+ a matrix where ` linux/amd64 ` runs on ` ubuntu-24.04 ` and ` linux/arm64 ` runs on
33+ ` ubuntu-24.04-arm ` . Each platform job builds independently, then the workflow
34+ finalizes the result into one caller-facing output contract.
3535
3636``` yaml
3737requested platforms :
@@ -42,6 +42,40 @@ conceptual platform jobs:
4242 linux/arm64 -> ubuntu-24.04-arm
4343` ` `
4444
45+ ### Runner selection
46+
47+ The ` runner` input accepts either a single GitHub-hosted Linux runner label or a
48+ newline-delimited platform mapping. A single label is used for every platform :
49+
50+ ` ` ` yaml
51+ runner: ubuntu-24.04
52+ ` ` `
53+
54+ The default value is a platform mapping that uses GitHub-hosted Ubuntu runners :
55+
56+ ` ` ` yaml
57+ runner: |
58+ default=ubuntu-24.04
59+ linux/arm=ubuntu-24.04-arm
60+ linux/arm64=ubuntu-24.04-arm
61+ ` ` `
62+
63+ A mapping must define a `default` runner. Other keys are platform prefixes, and
64+ the most specific matching prefix wins. For example, `linux/arm` matches
65+ variants such as `linux/arm/v7`, while `linux/arm64` is a separate prefix :
66+
67+ ` ` ` yaml
68+ runner: |
69+ default=ubuntu-24.04
70+ linux=ubuntu-24.04
71+ linux/arm=ubuntu-24.04-arm
72+ linux/arm64=ubuntu-24.04-arm
73+ ` ` `
74+
75+ The reusable workflows require GitHub-hosted Linux runners. The legacy `auto`,
76+ ` amd64` , and `arm64` values are still accepted for compatibility, but emit
77+ deprecation warnings. Use an explicit runner label or platform mapping instead.
78+
4579# # Execution path
4680
4781
0 commit comments