Skip to content

Commit a570b2b

Browse files
committed
Edit main.yml workflow so if an example fails, the test doesn't pass
1 parent 260692d commit a570b2b

1 file changed

Lines changed: 25 additions & 2 deletions

File tree

.github/workflows/main.yml

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,17 +86,40 @@ jobs:
8686
8787
- name: Setup and Run ppi_scaffolds tests
8888
run: |
89+
set -euo pipefail
8990
tar -xvf examples/ppi_scaffolds_subset.tar.gz -C examples
9091
total_chunks=$(nproc)
9192
cd tests
93+
94+
#launch all chunks in background and record PIDs + labels
95+
decalre -a pics
96+
declare -a label_by_pid
97+
9298
for chunk_index in $(seq 1 $total_chunks); do
9399
echo "Running chunk $chunk_index of $total_chunks"
94100
uv run python test_diffusion.py --total_chunks $total_chunks --chunk_index $chunk_index &
101+
pid=$!
102+
pids+=("$pid")
103+
label_by_pid["$pid"]="chunk_$chunk_index"
104+
done
105+
106+
# wait for each and track failures
107+
fail=0
108+
for pid in "${pids[@]}"; do
109+
if ! wait "$pid"; do
110+
echo "${label_by_pid[$pid]} failed (PID $pid)"
111+
fail=1
112+
else
113+
echo "✅ ${label_by_pid[$pid]} passed (PID $pid)"
114+
fi
95115
done
96116
97-
wait
117+
# make step fail if any chunk failed
118+
if [ "$fail" -ne 0 ]; then
119+
echo "One or more chunks failed."
120+
exit 1
121+
fi
98122
echo "All chunks completed."
99-
#cd tests && uv run python test_diffusion.py
100123
101124
102125
# - name: Test with pytest

0 commit comments

Comments
 (0)