diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1afc351..60d6ab4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -78,6 +78,9 @@ jobs: runs-on: macos-latest continue-on-error: true timeout-minutes: 15 + # The per-user TMPDIR leaves a HotCell::TestCell socket path a few bytes from macOS's 104-byte limit. + env: + TMPDIR: /tmp permissions: contents: read steps: diff --git a/hotcell-server/lib/hot_cell/test_cell.rb b/hotcell-server/lib/hot_cell/test_cell.rb index 09baf09..bfb31d8 100644 --- a/hotcell-server/lib/hot_cell/test_cell.rb +++ b/hotcell-server/lib/hot_cell/test_cell.rb @@ -26,6 +26,9 @@ module HotCell # which is the only place such a library may be loaded. # # HotCell::TestCell.boot(operations: -> { require "active_storage/hot_cell/server" }) + # + # The cell's sockets go beneath `Dir.tmpdir`, and a Unix socket path holds 104 bytes on macOS, whose per-user + # `TMPDIR` spends about half of that. A suite on macOS should set a short `TMPDIR`, such as `/tmp`. class TestCell READY = "up"