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:
parent
cdc1cf3bf7
commit
a4f63294de
2 changed files with 16 additions and 4 deletions
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue