From 54a09de03755a6df1b2a8e9bc872246b24d2b99f Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin <valyala@gmail.com> Date: Mon, 15 Feb 2021 00:50:06 +0200 Subject: [PATCH] lib/logger: explicitly import "time/tzdata" package for embedding tzdata into the app The approach with `timetzdata` build tag didn't work for GOARCH=arm and GOARCH=ppc64le due to the issue https://github.com/golang/go/issues/44073#issuecomment-778854298 --- deployment/docker/Makefile | 2 +- lib/logger/tzdata.go | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 lib/logger/tzdata.go diff --git a/deployment/docker/Makefile b/deployment/docker/Makefile index 79a7aed56..365fadd5e 100644 --- a/deployment/docker/Makefile +++ b/deployment/docker/Makefile @@ -34,7 +34,7 @@ app-via-docker: package-builder $(BUILDER_IMAGE) \ go build $(RACE) -mod=vendor -trimpath \ -ldflags "-extldflags '-static' $(GO_BUILDINFO)" \ - -tags 'netgo osusergo nethttpomithttp2 timetzdata' \ + -tags 'netgo osusergo nethttpomithttp2' \ -o bin/$(APP_NAME)$(APP_SUFFIX)-prod $(PKG_PREFIX)/app/$(APP_NAME) package-via-docker: package-base diff --git a/lib/logger/tzdata.go b/lib/logger/tzdata.go new file mode 100644 index 000000000..3947978f2 --- /dev/null +++ b/lib/logger/tzdata.go @@ -0,0 +1,9 @@ +// +build go1.15 + +package logger + +import ( + // This is needed for embedding tzdata into binary, so `-loggerTimezone` could work in an app running on a scratch base Docker image. + // The "time/tzdata" package has been appeared starting from Go1.15 - see https://golang.org/doc/go1.15#time/tzdata + _ "time/tzdata" +)