From 88153188d9b9a816415e63bd0c4fcc78b9c45f93 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Thu, 22 Oct 2026 03:38:49 -0700 Subject: [PATCH] ci: require a real mount before posix tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The wait loop fell back to listing the mount point, which passes on the directory created before weed mount runs — a dead or slow mount meant the suite exercised local disk. Only mountpoint counts now, and a dead mount process fails fast instead of timing out. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .github/workflows/posix-compliance.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/posix-compliance.yml b/.github/workflows/posix-compliance.yml index ab603fc38f..86b9bc14d8 100644 --- a/.github/workflows/posix-compliance.yml +++ b/.github/workflows/posix-compliance.yml @@ -193,17 +193,19 @@ jobs: MOUNT_PID=$! echo $MOUNT_PID > /tmp/seaweedfs/mount.pid - # Wait for mount to be ready + # Wait for mount to be ready. The mount point directory already + # exists, so only a real mount counts — a directory listing would + # pass on the local disk even if weed mount died. echo "Waiting for FUSE mount to be ready..." for i in {1..30}; do if mountpoint -q $MOUNT_POINT 2>/dev/null; then echo "FUSE mount is ready" break fi - # Alternative check - try to list the directory - if ls -la $MOUNT_POINT > /dev/null 2>&1; then - echo "FUSE mount is ready (directory accessible)" - break + if ! kill -0 $MOUNT_PID 2>/dev/null; then + echo "FUSE mount process exited" + cat /tmp/seaweedfs/mount.log + exit 1 fi if [ $i -eq 30 ]; then echo "FUSE mount failed to be ready"