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