Repository navigation
Update Go to 1.27 and gateway dependencies - #4332
Conversation
Signed-off-by: Han Verstraete (OpenFaaS Ltd) <han@openfaas.com>
Refresh gateway dependencies and vendored sources, raising the module minimum to Go 1.26 as required by the updated libraries. Build expected Prometheus descriptors with NewDesc so assertions continue checking metric names, help and labels when diagnostic formatting changes. Signed-off-by: Han Verstraete (OpenFaaS Ltd) <han@openfaas.com>
AI Pull Request OverviewDisclaimer: This review was generated by automated AI and may contain errors. Do not trust its outputs without human verification. Summary
Approval rating (1-10)9/10. The toolchain, dependency metadata, workflows, and adjusted assertions are internally consistent, with no concrete merge-blocking issue found. Summary per fileSummary per file
Overall AssessmentThe final state is coherent: dependencies requiring Go 1.26 are reflected in the module directive, the Docker builder uses Go 1.27, and module checksums and vendoring metadata track the selected versions. The workflow updates preserve the existing build and publish configuration. The Prometheus test change avoids coupling assertions to an internal diagnostic representation without removing the explicit metric names, help text, or variable-label checks. No actionable defect was found. Detailed ReviewDetailed ReviewNo findings. The dependency and toolchain changes are aligned across AI agent details. |
Description
Update the gateway Docker builder to Go 1.27 and refresh GitHub Actions to current released versions. Update gateway dependencies and vendored sources, including faas-provider, Prometheus, NATS and Go libraries. The updated dependencies require a Go 1.26 module minimum.
Construct expected Prometheus descriptors with
NewDescso the existing assertions retain coverage of metric names, help and labels while accommodating the library's updated diagnostic formatting.Motivation and Context
Keep gateway builds and dependencies current.
design/approvedlabelHow Has This Been Tested?
On Linux amd64 with Go 1.27.3:
gateway:go test ./...,go test -race ./...,go vet ./...andgo mod verifypassed.go mod verifypassed; it has no packages or dependencies, so there are no root unit tests.make disttarget exists. Ran the Docker distribution build withdocker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 --output type=oci,dest=/tmp/faas-validation/gateway.oci.tar gatewayusing an isolated builder. All three platforms passed, including the Dockerfile's license, formatting and native unit-test checks. This covers both workflow platforms and the additional ARMv7 platform in the gateway Makefile.file.TARGETPLATFORMwarning.Types of changes
Checklist:
git commit -s