Skip to content

fix: mark agents on an OS without a bundled Go CLI as incompatible - #299

Merged
matt-richardson merged 19 commits into
mainfrom
mr/go-cli-agent-os
Nov 9, 2026
Merged

matt-richardson merged 19 commits into
mainfrom
mr/go-cli-agent-os

Conversation

@matt-richardson

Copy link
Copy Markdown
Contributor

Merges into #276.

#294 made canRun check the agent JVM's architecture, but not its OS. Any agent that isn't Windows or Mac gets the Linux binary. A FreeBSD agent on amd64, for example, was reported as compatible and then failed with an exec format error. The legacy CanRunOcto turned away agents that weren't Windows, Mac or Unix with .NET or octo installed. canRun now also requires the agent JVM's os.name to be Windows, Mac or Linux.

Notes:

  • The check reads os.name from the agent JVM, the same way the architecture check reads os.arch.

🤖 Generated with Claude Code

APErebus and others added 18 commits October 20, 2026 12:21
The Go CLI archives are now downloaded at build time (#282). Drop the
committed cli/ archives and point downloadOctopusCli at resources/cli/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bring in the per-architecture Go CLI archives (#283). Port the
architecture lookup into cli/OctopusOsUtils and move its test into the
cli package.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…est (#286)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Additional command line arguments reach the Go CLI unchanged. Steps
written for the legacy octo CLI can carry arguments the Go CLI rejects
with only "unknown flag"; the build log now says where the argument
came from.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
The Go CLI is bundled for amd64 and arm64 only. Every runner reported
every agent as compatible, so a build could be sent to an agent whose
JVM architecture has no bundled CLI and fail when the step started.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the fix label Oct 30, 2026
Base automatically changed from ap/default-to-new-cli to main November 5, 2026 04:10
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@matt-richardson
matt-richardson marked this pull request as ready for review November 5, 2026 04:26
@matt-richardson
matt-richardson merged commit ff4c26d into main Nov 9, 2026
6 checks passed
@matt-richardson
matt-richardson deleted the mr/go-cli-agent-os branch November 9, 2026 03:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants