Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions companions/proto/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Proto compilation companion for `codefly generate proto`.
#
# Size strategy:
# 1. Multi-stage: build all the Go plugins in a golang:1.26-alpine
# 1. Multi-stage: build all the Go plugins in a golang:1.27-alpine
# builder stage, copy only the static binaries into the runtime.
# 2. Strip Go binaries with -ldflags="-s -w" during install — drops
# DWARF + symbol tables, typically 20-30% smaller per binary.
Expand All @@ -14,7 +14,7 @@

# --- Builder stage: compile every Go plugin from source --------------

FROM golang:1.26-alpine AS builder
FROM golang:1.27-alpine AS builder

RUN apk add --no-cache git python3 py3-pip nodejs npm protobuf

Expand Down
61 changes: 61 additions & 0 deletions companions/proto/flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 5 additions & 3 deletions companions/proto/flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# - Reproducible: Nix pins every transitive dependency by content
# hash via flake.lock. Two builds from the same commit produce
# bit-identical images. The Dockerfile pinned `golang:1.26-alpine`
# bit-identical images. The Dockerfile pinned `golang:1.27-alpine`
# and `apk add` package versions on a best-effort basis only.
#
# - Layered cache: dockerTools.streamLayeredImage produces an image
Expand Down Expand Up @@ -136,8 +136,10 @@
# Swagger client generator — needs `go` in PATH at runtime
# to format its output, hence go below.
go-swagger
# Bring `go`/`gofmt` for swagger's source formatter.
go
# Bring `go`/`gofmt` for swagger's source formatter. Pinned to
# go_1_27 to match the rest of the ecosystem (nixpkgs' default
# `go` still resolves to 1.26.x); only swagger's gofmt uses it.
go_1_27
# Python grpcio-tools — for grpc_python_plugin et al.
(python3.withPackages (ps: with ps; [ grpcio-tools ]))
# protoc-gen-es, version-pinned to the ecosystem runtime (built
Expand Down
Loading