Skip to content

[PHP] fix: split host browser and SharedFS runtime fixes#757

Open
brandonpayton wants to merge 23 commits into
integration/kd-6nz-php-phpt-fork-process-shm-basefrom
gascity/kd-6nz/kd-lnp-pr717-host-runtime-browser-split
Open

[PHP] fix: split host browser and SharedFS runtime fixes#757
brandonpayton wants to merge 23 commits into
integration/kd-6nz-php-phpt-fork-process-shm-basefrom
gascity/kd-6nz/kd-lnp-pr717-host-runtime-browser-split

Conversation

@brandonpayton

Copy link
Copy Markdown
Member

Supersedes fork-headed PR #738. This replacement keeps the same head commit (62a5771) but moves the PR head onto an Automattic/kandelo branch.

Why this is needed

Browser PHPT execution stresses host-backed mounts, SharedFS metadata, directory mutation behavior, DNS and output ordering, socket peeking, browser child output, exclusive creates, and VM interrupt timers. These are the host and runtime pieces needed for PHP tests to behave the same in browser and Node paths.

Why this shape makes sense

The group is large because the failures all live at the host, browser, and SharedFS boundary and are hard to validate independently without the same PHPT browser workload. Keeping them in one stacked layer makes the review surface explicit while preserving individual commits.

Why this is the correct fix

The changes tighten shared filesystem and browser-host semantics instead of weakening PHPT expectations. They make timestamps, directory reads, rename and unlink behavior, host-backed paths, child output, and interrupt delivery match the runtime contracts PHP relies on.

Stack

Base: integration/kd-6nz-php-phpt-fork-process-shm-base, after the fork/process/shared-memory replacement layer.

Verification

Branch-location correction only. Replacement head SHA matches fork-headed PR #738 exactly.

Kandelo Agent and others added 23 commits June 20, 2026 17:23
Implement POSIX O_CREAT|O_EXCL handling in the shared browser filesystem so open fails with EEXIST when the final pathname already exists, including final symlinks. This prevents standard temp-file creation routines from reusing an existing file under collision. Also keep generated PHPT artifacts out of the browser test VFS image so chunked test resumes start from source fixtures rather than stale outputs.

(cherry picked from commit 2468fd1)
@github-actions

Copy link
Copy Markdown

Phase B-1 matrix build status — pr-757-staging

ABI v16. 66 built, 1 failed, 67 total.

Package Arch Status Sha
libcurl wasm32 built 05131d85
libcxx wasm32 built 8da1dda5
libcxx wasm64 built 3f9d7318
libiconv wasm32 built 98ae39cc
libiconv wasm64 built 364f191d
libpng wasm32 built 57911579
libxml2 wasm32 built c9190593
libxml2 wasm64 built 29606a80
openssl wasm32 built b830c422
openssl wasm64 built 0ad8e76e
sqlite wasm32 built 22892317
sqlite wasm64 built a488b172
zlib wasm32 built 6258205e
zlib wasm64 built 10905a61
bc wasm32 built f45b6fc6
bzip2 wasm32 built ccaed6f7
coreutils wasm32 built 9c2f9610
curl wasm32 built 2a9910ba
dash wasm32 built dad4f1d0
diffutils wasm32 built 243e8f6c
dinit wasm32 built 8692ce28
fbdoom wasm32 built 4de08e20
file wasm32 built 37c5ed26
findutils wasm32 built abaccfbd
gawk wasm32 built 5870aeeb
git wasm32 built 3a505148
grep wasm32 built 873a4b9d
gzip wasm32 built bbf648b6
kandelo-sdk wasm32 built 6054195f
kernel wasm32 failed
less wasm32 built cff77508
lsof wasm32 built b2808d0b
m4 wasm32 built eeecbe81
make wasm32 built 73a97016
mariadb wasm32 built d51494dd
mariadb wasm64 built 019f4e3b
modeset wasm32 built 26449a18
msmtpd wasm32 built 8d5e57c3
nano wasm32 built e11bb2fe
ncurses wasm32 built 077d7b78
netcat wasm32 built 81674bbc
nginx wasm32 built a39e497d
php wasm32 built 5a58aac5
posix-utils-lite wasm32 built b6e3e07f
sed wasm32 built 2dbe649f
spidermonkey wasm32 built 022c3dd5
tar wasm32 built 79facabd
tcl wasm32 built 950a960f
unzip wasm32 built 87cc1e61
userspace wasm32 built 3ca5b0d1
vim wasm32 built 0d676ada
wget wasm32 built de9df728
xz wasm32 built 52fe1260
zip wasm32 built a4a53388
zstd wasm32 built 346b97c8
bash wasm32 built 9d94677c
mariadb-test wasm32 built 00b542dd
mariadb-vfs wasm32 built 83005b2b
mariadb-vfs wasm64 built a79c1b0d
nethack wasm32 built 799bbd26
node wasm32 built d57f5d71
spidermonkey-node wasm32 built fbcde318
vim-browser-bundle wasm32 built 22e962ba
nethack-browser-bundle wasm32 built a1711c12
rootfs wasm32 built c314bfde
shell wasm32 built 6ddcec14
node-vfs wasm32 built 685a8cbd

Auto-generated; replaced on each push. Raw data in the publish-status workflow artifact.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant