You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/GITHUB_ACTIONS.md
+22Lines changed: 22 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -104,6 +104,28 @@ The template supports two modes via **`AGENTCTL_INSTALL`**:
104
104
|**`go-build`** (default in this monorepo) | The workflow checks out this repository and runs **`go build ./cmd/agentctl`**. Use this while developing here so CI always matches the native tools on the branch (no waiting on a release asset). |
105
105
|**`release`**| Set **`AGENTCTL_INSTALL`** to **`release`** (any value other than **`go-build`**) in a **downstream** repo that only copies the YAML project, not the Go source. Then set **`AGENTCTL_VERSION`** (e.g. **`v0.1.9`**) to a tag whose asset **`agentctl-<tag>-linux-amd64.tar.gz`** exists on **Releases**. |
106
106
107
+
### arm64 and other non-amd64 runners
108
+
109
+
The bundled **`Install agentctl (release tarball)`** step in
110
+
**`.github/workflows/agentctl-pr-review.yml`** (and the publish workflow) downloads only
111
+
**`agentctl-<tag>-linux-amd64.tar.gz`**. That matches GitHub-hosted **`ubuntu-latest`**
112
+
(x86_64). The template does **not** select an asset from the runner OS or CPU architecture.
113
+
114
+
On **self-hosted ARM64** Linux runners (or other non-amd64 hosts), that tarball is the wrong
115
+
binary: the install step may fail when **`/tmp/agentctl`** is missing after extract, or
116
+
**`agentctl`** may fail at runtime with an exec-format error. The workflow fails loudly in those
117
+
cases rather than silently continuing.
118
+
119
+
**Workarounds:**
120
+
121
+
-**`AGENTCTL_INSTALL: go-build`** — check out a repository that contains this Go module and
122
+
compile **`./cmd/agentctl`** on the runner (requires **Go** on the runner). This is the
123
+
default in this monorepo and works on any architecture the toolchain supports.
124
+
-**Custom install step** — replace or extend the release install step to download the asset that
125
+
matches your runner (for example **`agentctl-<tag>-linux-arm64.tar.gz`** when published on
126
+
[Releases](https://github.com/LAA-Software-Engineering/agentic-control-plane/releases)), or an
127
+
internal artifact URL you maintain.
128
+
107
129
Native GitHub REST tools (**`pull_request.get`**, **`pull_request.diff`**, etc.) require an
108
130
**`agentctl`** binary built from a release that includes them; if **`release`** mode fails with
109
131
unknown tool **`uses`**, bump **`AGENTCTL_VERSION`** after a newer release is published.
0 commit comments