Compress binary with upx. (#5140)

* Compress binary with upx.

* Changing opt-level from z to 3

* Changing lto from thin to fat for release.
This commit is contained in:
Dessalines 2024-10-29 11:01:58 -04:00 committed by GitHub
parent cdc1cf3bf7
commit a4f63294de
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 16 additions and 4 deletions

View file

@ -26,9 +26,10 @@ workspace = true
[profile.release] [profile.release]
debug = 0 debug = 0
lto = "thin" lto = "fat"
strip = true # Automatically strip symbols from the binary. strip = true # Automatically strip symbols from the binary.
opt-level = "z" # Optimize for size. opt-level = 3 # Optimize for speed, not size.
codegen-units = 1 # Reduce parallel code generation.
# This profile significantly speeds up build time. If debug info is needed you can comment the line # This profile significantly speeds up build time. If debug info is needed you can comment the line
# out temporarily, but make sure to leave this in the main branch. # out temporarily, but make sure to leave this in the main branch.

View file

@ -38,6 +38,12 @@ RUN --mount=type=cache,target=/lemmy/target set -ex; \
cargo clean --release; \ cargo clean --release; \
cargo build --features "${CARGO_BUILD_FEATURES}" --release; \ cargo build --features "${CARGO_BUILD_FEATURES}" --release; \
mv target/"${RUST_RELEASE_MODE}"/lemmy_server ./lemmy_server; \ mv target/"${RUST_RELEASE_MODE}"/lemmy_server ./lemmy_server; \
#
# Compress the binary with upx
wget https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-amd64_linux.tar.xz; \
tar -xvf upx-4.2.4-amd64_linux.tar.xz; \
cp upx-4.2.4-amd64_linux/upx /usr/bin; \
upx --best --lzma lemmy_server; \
fi fi
# ARM64 builder # ARM64 builder
@ -71,9 +77,14 @@ RUN --mount=type=cache,target=./target,uid=10001,gid=10001 set -ex; \
cargo clean --release; \ cargo clean --release; \
cargo build --features "${CARGO_BUILD_FEATURES}" --release; \ cargo build --features "${CARGO_BUILD_FEATURES}" --release; \
mv "./target/$CARGO_BUILD_TARGET/$RUST_RELEASE_MODE/lemmy_server" /home/lemmy/lemmy_server; \ mv "./target/$CARGO_BUILD_TARGET/$RUST_RELEASE_MODE/lemmy_server" /home/lemmy/lemmy_server; \
#
# Compress the binary with upx
wget https://github.com/upx/upx/releases/download/v4.2.4/upx-4.2.4-arm64_linux.tar.xz; \
tar -xvf upx-4.2.4-arm64_linux.tar.xz; \
cp upx-4.2.4-arm64_linux/upx /usr/bin; \
upx --best --lzma /home/lemmy/lemmy_server; \
fi fi
# amd64 base runner # amd64 base runner
FROM ${AMD_RUNNER_IMAGE} AS runner-linux-amd64 FROM ${AMD_RUNNER_IMAGE} AS runner-linux-amd64