diff --git a/.gitea/workflows/main.yml b/.gitea/workflows/main.yml index 86c0219..52723ca 100644 --- a/.gitea/workflows/main.yml +++ b/.gitea/workflows/main.yml @@ -41,25 +41,28 @@ jobs: - name: Build with extreme memory optimization run: | - # Create additional swap for memory-intensive compilation - sudo fallocate -l 4G /swapfile || sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 - sudo chmod 600 /swapfile - sudo mkswap /swapfile - sudo swapon /swapfile + # Check available memory + echo "Available memory:" + free -h || echo "Memory info not available" - # Apply memory optimizations for CI environment + # Apply extreme memory optimizations for CI environment export CARGO_NET_GIT_FETCH_WITH_CLI=true - export CARGO_NET_RETRY=3 - export CARGO_NET_TIMEOUT=60 - export CARGO_HTTP_TIMEOUT=60 + export CARGO_NET_RETRY=2 + export CARGO_NET_TIMEOUT=30 + export CARGO_HTTP_TIMEOUT=30 export RUSTC_FORCE_INCREMENTAL=0 - # Build with all optimizations - cargo build --verbose + # Extreme memory conservation + export CARGO_BUILD_JOBS=1 + export CARGO_TARGET_DIR=$PWD/target + export RUSTFLAGS="-C opt-level=s -C codegen-units=1 -C panic=abort -C strip=symbols -C link-arg=-Wl,--no-keep-memory" - # Clean up swap - sudo swapoff /swapfile || true - sudo rm -f /swapfile || true + # Clear any existing artifacts to save space + cargo clean || true + + # Try building with release profile first (may use less memory) + echo "Starting build with release optimizations..." + cargo build --verbose --release - name: Install cargo-llvm-cov run: |