Skip to content

fix: bump Go companion image to Go 1.27 (#341) - #342

Merged
antoinetoussaint-byte merged 1 commit into
mainfrom
issue-341-go-companion-image-still-on-go-1-26
Aug 23, 2026
Merged

fix: bump Go companion image to Go 1.27 (#341)#342
antoinetoussaint-byte merged 1 commit into
mainfrom
issue-341-go-companion-image-still-on-go-1-26

Conversation

@antoinetoussaint-byte

@antoinetoussaint-byteantoinetoussaint-byte commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Closes#341.

Summary

  • companions/go shipped FROM golang:1.26-alpine at version 0.0.10 (Go 1.26.4). After core v0.3.8 moved services to go 1.27.0, container/Docker-run builds failed under the 1.26 toolchain with toolchain not available — the server never started and the health check reset.
  • Bump the Dockerfile to golang:1.27-alpine and info.codefly.yaml to 0.0.11 so golang.CompanionImage() resolves to the Go 1.27 image codeflydev/go:0.0.11.

Publish status

codeflydev/go:0.0.11 was not actually in the registry (contrary to the issue's note — codefly companion verify reported it MISSING). It has now been published as a multi-arch image (linux/amd64 + linux/arm64, go version go1.27.0 confirmed), and codefly companion verify is green for all six companions.

Audit (1.26 → 1.27 drift)

  • Other language companions (node, python, codefly, execution) are not Go-based — no drift.
  • GoVersion in runners/golang is a caller-supplied passthrough, not a core-owned default — nothing to bump.
  • companions/proto builder-stage Dockerfile is still golang:1.26-alpine, but that Dockerfile is a legacy --force-docker fallback — the proto image is actually built from flake.nix (Nix), whose Go comes from nixpkgs, not the Dockerfile. nixpkgs' default go is currently 1.26.5; a real bump means pinning the flake's gogo_1_27 (+ committing a flake.lock for reproducibility, which the flake currently lacks) and republishing codeflydev/proto on amd64. Proto's Go is only swagger's gofmt — it never builds a go 1.27.0 service — so this is cosmetic consistency, not a correctness fix. Deferred to a follow-up (see below).

Follow-ups (separate PRs)

  • fix: build a CGO-free CLI so companion publish links statically cli#456codefly companion publish couldn't build the go/node/python/base images at all: it cross-compiles the CLI CGO_ENABLED=0, but the CLI linked the tree-sitter (cgo) semantic analyzer unconditionally. That PR makes the CLI CGO-free for the static build. This is why go:0.0.11 was missing — CI/publish couldn't produce it.
  • Proto Go 1.27 bump: flake go_1_27 pin + flake.lock + amd64 republish, best done once cli#456 unblocks companion publishing.

Test plan

  • go build ./companions/go/
  • info.codefly.yaml parses to a valid semver (0.0.11) via golang.version()
  • codeflydev/go:0.0.11 published multi-arch; docker run codeflydev/go:0.0.11 go versiongo1.27.0; codefly companion verify all-green

FROM golang:1.27-alpine and version 0.0.11 so golang.CompanionImage()
resolves to the already-published codeflydev/go:0.0.11. Under the old
Go 1.26.4 toolchain, container builds of services on go 1.27.0 failed
with "toolchain not available".
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@antoinetoussaint-byte
antoinetoussaint-byte merged commit 01a97b6 into mainAug 23, 2026
1 check passed
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Go companion image still on Go 1.26 after v0.3.8 Go 1.27 bump (breaks container builds of go 1.27.0 services)

1 participant

@antoinetoussaint-byte