Compare commits
9 Commits
release-20
...
release-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40be58f2fc | ||
|
|
3f08b5b54a | ||
|
|
bfec99ae35 | ||
|
|
d9afd3aa81 | ||
|
|
e72113d91d | ||
|
|
7c4ff619c1 | ||
|
|
9c4217f450 | ||
|
|
cc09002171 | ||
|
|
5d8cdd7760 |
@@ -1,5 +0,0 @@
|
|||||||
[build]
|
|
||||||
rustflags = ["-C", "target-feature=-bulk-memory"]
|
|
||||||
|
|
||||||
[target.wasm32-unknown-unknown]
|
|
||||||
rustflags = ["-C", "target-feature=-bulk-memory"]
|
|
||||||
@@ -29,16 +29,26 @@ jobs:
|
|||||||
# Run Tailwind manually first
|
# Run Tailwind manually first
|
||||||
npx @tailwindcss/cli -i input.css -o public/tailwind.css
|
npx @tailwindcss/cli -i input.css -o public/tailwind.css
|
||||||
trunk build --release
|
trunk build --release
|
||||||
|
|
||||||
|
# Manuel WASM Optimizasyonu
|
||||||
|
WASM_FILE=$(ls dist/*.wasm | head -n 1)
|
||||||
|
BEFORE=$(du -h "$WASM_FILE" | cut -f1)
|
||||||
|
echo "Before optimization: $BEFORE"
|
||||||
|
|
||||||
|
wasm-opt --all-features -Oz "$WASM_FILE" -o "$WASM_FILE"
|
||||||
|
|
||||||
|
AFTER=$(du -h "$WASM_FILE" | cut -f1)
|
||||||
|
echo "After optimization: $AFTER"
|
||||||
|
echo "Optimization complete!"
|
||||||
|
|
||||||
- name: Build Backend (MIPS)
|
- name: Build Backend (MIPS)
|
||||||
env:
|
env:
|
||||||
# Ensure we are building a fully static binary
|
# -s: Sembolleri siler, -w: DWARF debug bilgilerini siler (Binary boyutunu devasa düşürür)
|
||||||
# -C link-self-contained=no: Let Zig (the linker) handle CRT objects (crt1.o, etc.)
|
RUSTFLAGS: "-C target-feature=+crt-static -C link-self-contained=no -C link-arg=-msoft-float -C link-arg=-s -C link-arg=-w"
|
||||||
RUSTFLAGS: "-C target-feature=+crt-static -C link-self-contained=no -C link-arg=-msoft-float"
|
|
||||||
CFLAGS_mips_unknown_linux_musl: "-msoft-float"
|
CFLAGS_mips_unknown_linux_musl: "-msoft-float"
|
||||||
run: |
|
run: |
|
||||||
cd backend
|
# Kök dizinden derleyerek workspace profil ayarlarının (LTO, z, strip) uygulanmasını sağlıyoruz
|
||||||
cargo zigbuild --target mips-unknown-linux-musl --release -Z build-std=std,panic_abort
|
cargo zigbuild -p backend --target mips-unknown-linux-musl --release -Z build-std=std,panic_abort
|
||||||
file target/mips-unknown-linux-musl/release/backend
|
file target/mips-unknown-linux-musl/release/backend
|
||||||
|
|
||||||
- name: Rename Binary
|
- name: Rename Binary
|
||||||
|
|||||||
@@ -5,10 +5,11 @@ resolver = "2"
|
|||||||
# Optimize for size (aggressive)
|
# Optimize for size (aggressive)
|
||||||
[profile.release]
|
[profile.release]
|
||||||
opt-level = "z"
|
opt-level = "z"
|
||||||
lto = true
|
lto = "fat" # Full LTO (En iyisi)
|
||||||
codegen-units = 1
|
codegen-units = 1
|
||||||
panic = "abort"
|
panic = "abort"
|
||||||
strip = true
|
strip = "symbols" # Sembolleri temizle
|
||||||
|
incremental = false # Incremental build'i kapat (Boyut için daha iyi)
|
||||||
|
|
||||||
[patch.crates-io]
|
[patch.crates-io]
|
||||||
coarsetime = { path = "third_party/coarsetime" }
|
coarsetime = { path = "third_party/coarsetime" }
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ RUN apt-get update && apt-get install -y \
|
|||||||
jq \
|
jq \
|
||||||
# Needed for some crate compilations
|
# Needed for some crate compilations
|
||||||
protobuf-compiler \
|
protobuf-compiler \
|
||||||
|
# Install binaryen to have wasm-opt available system-wide
|
||||||
|
binaryen \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# 2. Install Node.js v20 (Manual install to support multi-arch cleanly)
|
# 2. Install Node.js v20 (Manual install to support multi-arch cleanly)
|
||||||
@@ -70,7 +72,7 @@ RUN . "$HOME/.cargo/env" && \
|
|||||||
ARCH=$(dpkg --print-architecture) && \
|
ARCH=$(dpkg --print-architecture) && \
|
||||||
if [ "$ARCH" = "amd64" ]; then TRUNK_ARCH="x86_64-unknown-linux-gnu"; \
|
if [ "$ARCH" = "amd64" ]; then TRUNK_ARCH="x86_64-unknown-linux-gnu"; \
|
||||||
elif [ "$ARCH" = "arm64" ]; then TRUNK_ARCH="aarch64-unknown-linux-gnu"; fi && \
|
elif [ "$ARCH" = "arm64" ]; then TRUNK_ARCH="aarch64-unknown-linux-gnu"; fi && \
|
||||||
wget -qO- "https://github.com/trunk-rs/trunk/releases/download/v0.21.5/trunk-$TRUNK_ARCH.tar.gz" | tar -xzf - -C /root/.cargo/bin/ && \
|
wget -qO- "https://github.com/trunk-rs/trunk/releases/download/v0.21.14/trunk-$TRUNK_ARCH.tar.gz" | tar -xzf - -C /root/.cargo/bin/ && \
|
||||||
chmod +x /root/.cargo/bin/trunk && \
|
chmod +x /root/.cargo/bin/trunk && \
|
||||||
# Install wasm-bindgen-cli (Compiling from source to avoid glibc issues, doing it ONCE here)
|
# Install wasm-bindgen-cli (Compiling from source to avoid glibc issues, doing it ONCE here)
|
||||||
cargo install wasm-bindgen-cli --version 0.2.108
|
cargo install wasm-bindgen-cli --version 0.2.108
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
[build]
|
|
||||||
rustflags = ["-C", "target-feature=-bulk-memory"]
|
|
||||||
|
|
||||||
[target.wasm32-unknown-unknown]
|
|
||||||
rustflags = ["-C", "target-feature=-bulk-memory"]
|
|
||||||
@@ -51,4 +51,4 @@ web-sys = { version = "0.3", features = [
|
|||||||
] }
|
] }
|
||||||
shared = { path = "../shared" }
|
shared = { path = "../shared" }
|
||||||
tailwind_fuse = "0.3.2"
|
tailwind_fuse = "0.3.2"
|
||||||
js-sys = "0.3.85"
|
js-sys = "0.3.85"
|
||||||
@@ -10,6 +10,3 @@ command_arguments = ["-c", "npx @tailwindcss/cli -i input.css -o public/tailwind
|
|||||||
[build]
|
[build]
|
||||||
target = "index.html"
|
target = "index.html"
|
||||||
dist = "dist"
|
dist = "dist"
|
||||||
|
|
||||||
[tools]
|
|
||||||
wasm_opt = "version_121"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user