From 4016dc295d91275a74489d0774985664d4c00603 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Thu, 22 Oct 2026 07:35:45 -0700 Subject: [PATCH] ci: require external posix tools only when setup installed them setup-external-tools always exits 0 because each sub-target tolerates failure, so POSIX_REQUIRE_EXTERNAL_TOOLS was set even with no tools installed and the suite then hard-failed on the missing suites. --- .github/workflows/posix-compliance.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/posix-compliance.yml b/.github/workflows/posix-compliance.yml index 52312f1b9f..cf06835ce6 100644 --- a/.github/workflows/posix-compliance.yml +++ b/.github/workflows/posix-compliance.yml @@ -249,13 +249,15 @@ jobs: # Note: External tools setup is now optional and won't fail the build if [ "${{ github.event.inputs.enable_external_tests }}" = "true" ]; then echo "Setting up external POSIX testing tools..." - if make -f posix_Makefile setup-external-tools; then - # Make external tools mandatory when explicitly requested and successfully set up + make -f posix_Makefile setup-external-tools || true + # setup-external-tools exits 0 even when a sub-target failed, so + # require the tools only when they are actually installed + if [ -d external_tools/pjdfstest ] && command -v nfstest_posix >/dev/null 2>&1; then export POSIX_REQUIRE_EXTERNAL_TOOLS="true" echo "POSIX_REQUIRE_EXTERNAL_TOOLS=true" >> $GITHUB_ENV echo "✅ External tools setup completed successfully" else - echo "⚠️ External tools setup failed - continuing with basic tests only" + echo "⚠️ External tools setup incomplete - continuing with basic tests only" echo "External tools will be skipped but tests will continue" echo "This is expected behavior when build tools are not available" fi