From dd29cd880214db6353c8f7cb0a81a4caa39de0cb Mon Sep 17 00:00:00 2001 From: Mike Pilgrem Date: Sat, 7 Feb 2026 21:40:57 +0000 Subject: [PATCH 1/2] Re-enable withBinaryFileDurable test on macOS --- rio/test/RIO/FileSpec.hs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rio/test/RIO/FileSpec.hs b/rio/test/RIO/FileSpec.hs index ce10305..f7978dc 100644 --- a/rio/test/RIO/FileSpec.hs +++ b/rio/test/RIO/FileSpec.hs @@ -58,9 +58,11 @@ sameAsWithFiletest = do -- appear to be in that environment. mGitHubActions <- lookupEnv "GITHUB_ACTIONS" case mGitHubActions of + {- Just "true" -> pendingWith $ "On GitHub macOS runners, the file system appears to reject " <> "durability-related open flags." + -} _ -> test #endif where From 8f2315e40fe1d31e543774801c997f849e943c7a Mon Sep 17 00:00:00 2001 From: Mike Pilgrem Date: Sat, 7 Feb 2026 22:05:59 +0000 Subject: [PATCH 2/2] Add a diagnostic step to the CI --- .github/workflows/tests.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 556a39c..c228d3b 100755 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -55,6 +55,30 @@ jobs: if: startsWith(runner.os, 'macOS') run: | echo "TMPDIR=$RUNNER_TEMP" >> $GITHUB_ENV + - name: Diagnostic on macOS + if: startsWith(runner.os, 'macOS') + run: | + set -euxo pipefail + + echo "whoami=$(whoami)" + id + umask + echo "RUNNER_TEMP=$RUNNER_TEMP" + echo "TMPDIR=${TMPDIR:-"(unset)"}" + + # Show perms + ACLs on the temp area (macOS: -e shows ACLs) + ls -ldOe@ /Users/runner/work/_temp || true + ls -ldOe@ "$RUNNER_TEMP" || true + + # If the failing directory exists, dump its perms too + ls -ldOe@ /Users/runner/work/_temp/rio* || true + + # Repro: create + write in a fresh subdir + d="$(mktemp -d "$RUNNER_TEMP/rio-probe.XXXXXX")" + ls -ldOe@ "$d" + touch "$d/can_write" + ls -lOe@ "$d/can_write" + - name: Build and run tests shell: bash run: |