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
Follow-up from #341 / #342 (Go 1.27 everywhere audit).
Context
The proto companion image (codeflydev/proto) is the last place still on Go 1.26. Unlike the go companion, this is cosmetic, not a correctness bug: proto's go is only used by swagger's gofmt to format generated output — proto never runs go build on a go 1.27.0 service, so it can't hit the toolchain not available failure that motivated #341.
Why it's not a one-line Dockerfile bump
companions/proto/Dockerfile still says FROM golang:1.26-alpine, but that Dockerfile is a legacy --force-docker fallback. The image is actually built from companions/proto/flake.nix (Nix dockerTools), so its Go comes from nixpkgs, not the Dockerfile.
nixpkgs' default go currently resolves to 1.26.5. pkgs.go_1_27 (1.27.0) exists.
The flake has no flake.lock, so it floats on nixos-unstable and isn't reproducible despite the flake header claiming it is.
Proposed change
In companions/proto/flake.nix, pin the runtime go in protoTools to go_1_27 (verified to evaluate + build).
Commit a flake.lock so the image is actually reproducible.
(Optional, for full consistency) bump the --force-dockerDockerfile builder stage to golang:1.27-alpine.
Bump companions/proto/info.codefly.yaml to 0.0.13 and republish codeflydev/proto:0.0.13.
Blocker / sequencing
The image must be published on linux/amd64 (proto has historically been amd64-only). It can't be produced from an Apple-Silicon dev machine whose nix linux-builder is aarch64-linux — the amd64 image-assembly derivations fail with a platform mismatch. Do this from amd64 CI (or an amd64 nix builder).
Follow-up from #341 / #342 (Go 1.27 everywhere audit).
Context
The proto companion image (
codeflydev/proto) is the last place still on Go 1.26. Unlike the go companion, this is cosmetic, not a correctness bug: proto'sgois only used by swagger'sgofmtto format generated output — proto never runsgo buildon ago 1.27.0service, so it can't hit thetoolchain not availablefailure that motivated #341.Why it's not a one-line Dockerfile bump
companions/proto/Dockerfilestill saysFROM golang:1.26-alpine, but that Dockerfile is a legacy--force-dockerfallback. The image is actually built fromcompanions/proto/flake.nix(NixdockerTools), so its Go comes from nixpkgs, not the Dockerfile.gocurrently resolves to 1.26.5.pkgs.go_1_27(1.27.0) exists.flake.lock, so it floats onnixos-unstableand isn't reproducible despite the flake header claiming it is.Proposed change
companions/proto/flake.nix, pin the runtimegoinprotoToolstogo_1_27(verified to evaluate + build).flake.lockso the image is actually reproducible.--force-dockerDockerfilebuilder stage togolang:1.27-alpine.companions/proto/info.codefly.yamlto0.0.13and republishcodeflydev/proto:0.0.13.Blocker / sequencing
linux-builderis aarch64-linux — the amd64 image-assembly derivations fail with a platform mismatch. Do this from amd64 CI (or an amd64 nix builder).codefly companion publishso companion images can be published at all.Until then,
info.codefly.yamlshould stay at0.0.12socodefly companion verifydoesn't point at an unpublished tag.