Compare commits

..

1 Commits

Author SHA1 Message Date
01c100a60b ci: improve CI stability with parallel builds, Valgrind, and coverage
Some checks failed
CI Code / Check spelling (pull_request) Successful in 22s
CI Code / Check coding style (pull_request) Successful in 35s
CI Code / Code Coverage (pull_request) Successful in 1m45s
CI Code / Linux (debian) (pull_request) Failing after 5m46s
CI Code / Linux (ubuntu) (pull_request) Failing after 7m50s
CI Code / Linux (arch) (pull_request) Failing after 9m10s
2026-01-28 19:48:33 +03:00

View File

@@ -303,7 +303,7 @@ echo "Starting parallel builds..."
pids=()
for idx in 1 2 3 4; do
if [ $idx -le ${#tests[@]} ]; then
# All builds run Valgrind on Linux
# All builds run Valgrind
if [ "$ARCH" = "linux" ]; then
run_valgrind="yes"
if [ $idx -eq 1 ]; then
@@ -328,10 +328,11 @@ for idx in 1 2 3 4; do
fi
done
# Wait for all builds and check exit codes
failed_builds=()
for i in \"${!pids[@]}\"; do
for i in "${!pids[@]}"; do
idx=$((i + 1))
if wait \"${pids[$i]}\"; then
if wait "${pids[$i]}"; then
stats=""
if [ -f "build-$idx.log" ]; then
stats_line=$(grep "^STATS:" "build-$idx.log" | tail -1)
@@ -344,6 +345,7 @@ for i in \"${!pids[@]}\"; do
cov_branches=$(echo "$stats_line" | grep -oE "cov_branches=[0-9.]+%|cov_branches=n/a" | cut -d= -f2)
time=$(echo "$stats_line" | grep -oE "time=[0-9]+m[0-9]+s" | cut -d= -f2)
# Format: passed/failed for each test type
unit_str="${unit_p:-0}/${unit_f:-0}"
func_str="${func_p:-0}/${func_f:-0}"
@@ -362,6 +364,7 @@ done
echo
# Show failed builds full logs
for idx in "${failed_builds[@]}"; do
if [ -f "build-$idx.log" ]; then
echo "=== Build $idx (FAILED) - full log ==="