Repository navigation
refactor: remove what only the legacy CLI used - #296
Merged
Merged
Conversation
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>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…o-cli-default-space
…est (#286) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Drops the error patterns that only matched octo's .NET output, the 2.0 version folder the bundled Go CLI sat under, and a test that passed whatever octopus_version a step carried. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…o-cli-default-space # Conflicts: # e2e/src/test/java/octopus/teamcity/e2e/test/OctopusConnectionBuildInformationE2ETest.java # e2e/src/test/java/octopus/teamcity/e2e/test/OctopusPromoteReleaseNewCliE2ETest.java # e2e/src/test/java/octopus/teamcity/e2e/test/OctopusPushPackageE2ETest.java # octopus-agent/src/main/java/octopus/teamcity/agent/cli/CLIBuildProcess.java # octopus-agent/src/test/java/octopus/teamcity/agent/cli/CLIBuildProcessTest.java # octopus-common/src/main/java/octopus/teamcity/common/SpaceSelection.java # octopus-server/src/main/java/octopus/teamcity/server/PropertiesValidator.java
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>
…o-cli-default-space # Conflicts: # octopus-agent/src/main/java/octopus/teamcity/agent/cli/CLIBuildProcess.java
…o-cli-leftovers # Conflicts: # octopus-agent/src/main/java/octopus/teamcity/agent/cli/CLIBuildProcess.java # octopus-agent/src/test/java/octopus/teamcity/agent/cli/CLIBuildProcessTest.java
…/go-cli-leftovers # Conflicts: # octopus-agent/src/test/java/octopus/teamcity/agent/cli/CLIBuildProcessTest.java
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # octopus-agent/src/test/java/octopus/teamcity/agent/cli/CLIBuildProcessTest.java # octopus-server/src/main/java/octopus/teamcity/server/OctopusDeployReleaseRunType.java # octopus-server/src/main/java/octopus/teamcity/server/PropertiesValidator.java
matt-richardson
marked this pull request as ready for review
November 9, 2026 03:40
APErebus
approved these changes
Nov 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merges into #276.
Some code only made sense while two CLIs shipped side by side:
octo: "Unable to connect to … server", "The remote server returned an error: (50x)", "The remote name could not be resolved", "A connection attempt failed", "The Octopus server … is not available" and "(40x)". None of those strings appear in the source of the Go CLI or ofgo-octopusdeploy.2.0version folder. The bundled CLI sat underresources/cli/2.0/<os>-<arch>/, andextractCliTotook anoctopusVersionargument. With one CLI, that folder selects nothing. The CLI is now atresources/cli/<os>-<arch>/.extractsTheBundledCliWhateverOctopusVersionTheStepCarries, which passed for anyoctopus_version, because nothing reads that parameter any more.Notes:
HTTP status 40x/50xpatterns stay. They don't appear in the Go CLI orgo-octopusdeploysource either: the client reports most non-2xx responses asOctopus API error: …without a status code. It's worth checking what the Go CLI prints for a 502 or 503. If nothing matches, a gateway error isn't retried.resources/cli/<os>-<arch>/.🤖 Generated with Claude Code