Skip to content

Commit 8368363

Browse files
authored
Merge pull request #121 from LAA-Software-Engineering/docs/issue-96-arm64-release-install
docs(actions): arm64 / non-amd64 runners and release tarball install
2 parents ec5a0fe + 2b5ef12 commit 8368363

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

docs/GITHUB_ACTIONS.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,28 @@ The template supports two modes via **`AGENTCTL_INSTALL`**:
104104
| **`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). |
105105
| **`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**. |
106106

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+
107129
Native GitHub REST tools (**`pull_request.get`**, **`pull_request.diff`**, etc.) require an
108130
**`agentctl`** binary built from a release that includes them; if **`release`** mode fails with
109131
unknown tool **`uses`**, bump **`AGENTCTL_VERSION`** after a newer release is published.

0 commit comments

Comments
 (0)