diff --git a/.gitea/workflows/dev.yaml b/.gitea/workflows/dev.yaml index b903aa2..86440fe 100644 --- a/.gitea/workflows/dev.yaml +++ b/.gitea/workflows/dev.yaml @@ -112,23 +112,23 @@ jobs: - name: Build neuron-web with elb run: | - set -euo pipefail - echo "=== SDK env ===" - echo "ELB=$ELB" - echo "ELC=$ELC" - echo "EL_RUNTIME=$EL_RUNTIME" - echo "=== SDK files ===" + set -uo pipefail + echo "ELB=$ELB ELC=$ELC EL_RUNTIME=$EL_RUNTIME" ls -la "$ELB" "$ELC" - ls -la "$EL_RUNTIME/" - echo "=== manifest ===" - cat manifest.el - echo "=== running elb ===" - # stdbuf -oL forces line-buffered stdout so output isn't lost if elb fails. - # Without it, println output buffers in the C pipe and evaporates on non-zero exit. stdbuf -oL "$ELB" \ --elc="$ELC" \ - --runtime="$EL_RUNTIME" - echo "Binary: $(ls -lh dist/neuron-landing)" + --runtime="$EL_RUNTIME" 2>&1 | tee /tmp/elb.log + ELB_EXIT=${PIPESTATUS[0]} + if [ "$ELB_EXIT" -eq 0 ]; then + echo "Binary: $(ls -lh dist/neuron-landing)" + fi + exit "$ELB_EXIT" + + - name: Dump full elb output (on failure) + if: failure() + run: | + echo "=== full elb output ===" + cat /tmp/elb.log || echo "(no log file)" # ── Compile JS client sources ─────────────────────────────────────────