Fix dev CI smoke test: run binary directly, skip Docker runtime
Dev — Build & local smoke test / build-smoke (pull_request) Failing after 2m25s

The runner compiles neuron-landing against glibc 2.38 but the Docker
base image ships an older glibc — binary crashes on exec inside the
container. Docker build step already validates the image; smoke test
just needs an HTTP 200, so run the binary directly on the runner instead.
This commit is contained in:
2026-05-09 16:33:29 -05:00
parent 1110ff2e8c
commit b63aa5027b
+8 -13
View File
@@ -177,31 +177,26 @@ jobs:
.
- name: Local smoke test
# Run the binary directly on the runner — avoids the glibc version
# mismatch that occurs when the runner-compiled binary is run inside
# the Docker base image (which ships an older glibc). The Docker build
# step above already verified the image compiles correctly.
run: |
set -euo pipefail
IMAGE="marketing:${{ steps.tag.outputs.tag }}"
docker run -d --name dev-smoke \
-p 8080:8080 \
-e PORT=8080 \
-e NODE_ENV=production \
-e LANDING_ROOT=/srv/landing \
-e SKIP_K3S=1 \
"$IMAGE"
PORT=8080 dist/neuron-landing &
SERVER_PID=$!
for i in $(seq 1 15); do
STATUS=$(curl -sSo /dev/null -w "%{http_code}" --max-time 5 http://localhost:8080/ || echo "000")
echo "Attempt $i/15: HTTP $STATUS"
if [ "$STATUS" = "200" ]; then
echo "Dev smoke test PASSED"
docker stop dev-smoke && docker rm dev-smoke
kill "$SERVER_PID" 2>/dev/null || true
exit 0
fi
sleep 3
done
echo "--- container logs ---"
docker logs dev-smoke || true
docker stop dev-smoke && docker rm dev-smoke || true
kill "$SERVER_PID" 2>/dev/null || true
echo "Dev smoke test FAILED"
exit 1