From 430ed38cc545e301603aa6fdb1efbacba587eff4 Mon Sep 17 00:00:00 2001 From: Julien Neuhart Date: Fri, 11 Sep 2026 16:13:06 +0200 Subject: [PATCH] build(makefile): re-enable the embedlit go fix modernizer --- Makefile | 15 ++++++--------- pkg/gotenberg/semconv/httpconvtest_test.go | 16 ++++++---------- pkg/modules/api/middlewares.go | 18 +++++++----------- 3 files changed, 19 insertions(+), 30 deletions(-) diff --git a/Makefile b/Makefile index eb38231f..60a71b58 100644 --- a/Makefile +++ b/Makefile @@ -219,20 +219,17 @@ lint-prettier: ## Lint non-Golang codebase lint-todo: ## Find TODOs in Golang codebase golangci-lint run --no-config --default=none --enable godox -# TODO: restore a plain "go fix ./..." once both modernizers stop rewriting this -# codebase into code that does not compile. Re-check by dropping a flag and -# running "make fmt && make lint". Removing an analyzer upstream makes go fix -# fail with "flag provided but not defined", so this cannot rot silently. -# embedlit folds a post-literal field assignment into a literal that already -# sets that key, producing a duplicate field name (cmd/gotenberg.go). Fixed in -# Go 1.27.1, so drop that flag once the toolchain moves past 1.27.0. -# See https://github.com/golang/go/issues/81101. +# TODO: restore a plain "go fix ./..." once the errorsastype modernizer stops +# rewriting this codebase into code that does not compile. Re-check by dropping +# the flag and running "make fmt && make lint". Removing the analyzer upstream +# makes go fix fail with "flag provided but not defined", so this cannot rot +# silently. # errorsastype rewrites errors.As to errors.AsType[T] without checking that T # satisfies error, which breaks on api.HttpError since it does not embed # error. Still broken as of Go 1.27.1. .PHONY: fmt fmt: ## Format Golang codebase and "optimize" the dependencies - go fix -embedlit=false -errorsastype=false ./... + go fix -errorsastype=false ./... golangci-lint fmt go mod tidy diff --git a/pkg/gotenberg/semconv/httpconvtest_test.go b/pkg/gotenberg/semconv/httpconvtest_test.go index 24b79426..41dca0f2 100644 --- a/pkg/gotenberg/semconv/httpconvtest_test.go +++ b/pkg/gotenberg/semconv/httpconvtest_test.go @@ -201,17 +201,13 @@ func TestNewServerRecordMetrics(t *testing.T) { server.RecordMetrics(t.Context(), semconv.ServerMetricData{ ServerName: "stuff", ResponseSize: 200, - MetricAttributes: semconv.MetricAttributes{ - Req: req, - StatusCode: 301, - AdditionalAttributes: []attribute.KeyValue{ - attribute.String("key", "value"), - }, - }, - MetricData: semconv.MetricData{ - RequestSize: 100, - ElapsedTime: 300, + Req: req, + StatusCode: 301, + AdditionalAttributes: []attribute.KeyValue{ + attribute.String("key", "value"), }, + RequestSize: 100, + ElapsedTime: 300, }) rm := metricdata.ResourceMetrics{} diff --git a/pkg/modules/api/middlewares.go b/pkg/modules/api/middlewares.go index 7a68a64b..337e2310 100644 --- a/pkg/modules/api/middlewares.go +++ b/pkg/modules/api/middlewares.go @@ -355,17 +355,13 @@ func telemetryMiddleware(logger *slog.Logger, serverName, correlationIdHeader st } semconvSrv.RecordMetrics(ctx, semconvutil.ServerMetricData{ - ServerName: serverName, - ResponseSize: c.Response().Size, - MetricAttributes: semconvutil.MetricAttributes{ - Req: request, - StatusCode: status, - AdditionalAttributes: additionalAttributes, - }, - MetricData: semconvutil.MetricData{ - RequestSize: request.ContentLength, - ElapsedTime: float64(time.Since(startTime)) / float64(time.Millisecond), - }, + ServerName: serverName, + ResponseSize: c.Response().Size, + Req: request, + StatusCode: status, + AdditionalAttributes: additionalAttributes, + RequestSize: request.ContentLength, + ElapsedTime: float64(time.Since(startTime)) / float64(time.Millisecond), }) return nil