ci: cargo -j1 to keep peak memory under host budget; retrigger moongreet
Build and publish packages / build-and-publish (push) Successful in 9m0s
Build and publish packages / build-and-publish (push) Successful in 9m0s
Run 108 hit a verified global OOM (constraint=CONSTRAINT_NONE) when cargo -j2 ran two parallel rustc workers on a host with 1.6 GiB available. -j1 halves the peak. 4 GiB swapfile added on host as additional buffer; this changes the build pipeline as the second layer.
This commit is contained in:
@@ -53,13 +53,18 @@ jobs:
|
|||||||
sudo pacman -S --needed --noconfirm $MAKEDEPS
|
sudo pacman -S --needed --noconfirm $MAKEDEPS
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Parallel build with two cargo jobs. Previous single-threaded
|
# Single-threaded build to keep memory peak below the 8 GiB
|
||||||
# throttling was based on an unverified OOM assumption (run 86
|
# host budget. Run 108 (2026-04-28) hit a verified global OOM
|
||||||
# on 2026-04-23 stalled; no dmesg/journalctl evidence of
|
# (constraint=CONSTRAINT_NONE in journalctl, rustc killed at
|
||||||
# OOMKiller was ever captured). If a real OOM happens, capture
|
# 1.7 GiB RSS while host was already at 6.2 GiB used / 1.6 GiB
|
||||||
# `dmesg | grep -i "killed process"` first before re-throttling.
|
# available). Two parallel rustc workers blow that reserve.
|
||||||
export CARGO_BUILD_JOBS=2
|
# Container-side mem_limit doesn't help because the kill is
|
||||||
export MAKEFLAGS="-j2"
|
# global, not cgroup. -j1 halves the peak; act_runner blkio
|
||||||
|
# cap (30 MB/s) protects I/O. Do NOT raise without a wider
|
||||||
|
# memory plan (more host RAM, per-container caps, or larger
|
||||||
|
# swap headroom).
|
||||||
|
export CARGO_BUILD_JOBS=1
|
||||||
|
export MAKEFLAGS="-j1"
|
||||||
makepkg -sfd --noconfirm
|
makepkg -sfd --noconfirm
|
||||||
|
|
||||||
# makepkg can emit multiple artifacts per build (main + -debug
|
# makepkg can emit multiple artifacts per build (main + -debug
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
pkgname=moongreet-git
|
pkgname=moongreet-git
|
||||||
epoch=1
|
epoch=1
|
||||||
pkgver=0.8.3.r3.gb9b6f50
|
pkgver=0.8.3.r3.gb9b6f50
|
||||||
pkgrel=6
|
pkgrel=7
|
||||||
pkgdesc="A greetd greeter for Wayland with GTK4 and Layer Shell"
|
pkgdesc="A greetd greeter for Wayland with GTK4 and Layer Shell"
|
||||||
arch=('x86_64')
|
arch=('x86_64')
|
||||||
url="https://gitea.moonarch.de/nevaforget/greetd-moongreet"
|
url="https://gitea.moonarch.de/nevaforget/greetd-moongreet"
|
||||||
|
|||||||
Reference in New Issue
Block a user