diff options
| author | 2025-10-24 00:08:10 +0200 | |
|---|---|---|
| committer | 2025-11-17 14:11:50 +0100 | |
| commit | 580252dc4893d42c8c8b90fe6751a57b7cce1fc8 (patch) | |
| tree | a16b33630f7986b8a668cb35920f343a30d5ca6d /scripts/build.sh | |
| parent | [chore/frontend] Use `autocomplete="one-time-code"` for 2fa input (#4516) (diff) | |
| download | gotosocial-580252dc4893d42c8c8b90fe6751a57b7cce1fc8.tar.xz | |
[chore] reduce binary size (#4519)
- sets the nomsgpack build tag to instruct gin to build without msgpack support (which we don't use, anyway)
- sets the stdlibjson build tag to instruct minio to use the stdlib JSON encoder / decoder instead of goccy/json
both of the above net a size decrease of ~7MB
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4519
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
Diffstat (limited to 'scripts/build.sh')
| -rwxr-xr-x | scripts/build.sh | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/scripts/build.sh b/scripts/build.sh index c6931e09d..a526a679c 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -6,7 +6,7 @@ set -e log_exec() { echo "$ ${*}"; "$@"; } # Grab environment variables and set defaults + requirements. -GO_BUILDTAGS="${GO_BUILDTAGS-} netgo osusergo static_build timetzdata" +GO_BUILDTAGS="${GO_BUILDTAGS-} netgo osusergo static_build timetzdata nomsgpack stdlibjson" GO_LDFLAGS="${GO_LDFLAGS-} -s -w -extldflags '-static' -X 'main.Version=${VERSION:-$(git describe --tags --abbrev=0)}'" GO_GCFLAGS=${GO_GCFLAGS-} @@ -16,6 +16,8 @@ GO_GCFLAGS=${GO_GCFLAGS-} # Available Go build tags, with explanation, followed by benefits of enabling it: # - timetzdata: embed timezone database inside binary (allow setting local time inside Docker containers, at cost of 450KB) +# - nomsgpack: removes msgpack encoding from gin (which we don't use anyway) (reduced binary size) +# - stdlibjson: sets encoding/json instead of goccy/go-json for minio (reduced binary size) # - nootel: disables compiling-in otel support (reduced binary size) # - noerrcaller: disables caller function prefix in errors (slightly better performance, at cost of err readability) # - debug: enables /debug/pprof endpoint (adds debug, at performance cost) |
