[codex] Use routed WP helper for E2E post creation#60
Conversation
fc17658 to
97ad0aa
Compare
97ad0aa to
44cae3d
Compare
|
Follow-up from the failed
Local verification run after the fix: bash -n tests/cow/e2e.sh
git diff --check
cargo test -p forkpress-storage
FORKPRESS_RUNTIME_BUNDLE=/dev/null cargo test -p forkpress-cli
make test-cow |
44cae3d to
f9284a0
Compare
|
Updated this PR with two E2E hardening changes after the macOS aarch64 failure:
Focused verification run locally:
CI has restarted on |
|
Additional focused local verification after the deterministic-admin E2E patch:\n\n- |
|
CI status note: the restarted COW E2E jobs have not reached the COW steps yet. Current PR #60 run metadata shows these jobs still in
The release workflow's standalone |
f9284a0 to
b2c38fe
Compare
|
Updated again after the CI jobs remained in This adds two release-gate diagnostics:
Focused verification:
New PR #60 head: |
|
Updated PR #60 with a targeted merge-policy fix for the macOS COW E2E failure seen at
Local verification on the restored worktree: umask 022; php -l scripts/cow/merge.php
umask 022; php -l tests/cow/merge.php
umask 022; git diff --check
umask 022; php tests/cow/merge.php
|
|
Additional local verification completed on umask 022; make test-cowPassed locally. This covers:
Latest PR status check: CI is still running; Windows checks have already passed, macOS and Linux COW jobs are still in progress. |
|
Follow-up hardening pushed at This removes the previous tolerance for Focused checks for the E2E script update: umask 022; bash -n tests/cow/e2e.sh
umask 022; git diff --check |
|
Documented the new clean semantic merge gate in Check run for the doc update: umask 022; git diff --check |
854be38 to
c8a0ac2
Compare
c8a0ac2 to
87f8442
Compare
## Release `v0.1.15` Version bump and release metadata update for `v0.1.15`. **Changelog draft:** * Fix Homebrew tap update detection * Document release and install paths * Document latest aarch64 mac release gate evidence ([#62](#62)) * Harden WP UI nonce E2E helper ([#49](#49)) * Use routed WP helper for E2E post creation ([#60](#60)) * Keep session tokens target-local during COW merges ([#63](#63)) * Cover remote cache branch merge E2E ([#61](#61)) * Add fast COW merge smoke gate ([#64](#64)) * Document latest merge release gate evidence ([#65](#65)) * Cover pre-metadata Git push crash recovery ([#66](#66)) * Document fast COW Git merge gates ([#67](#67)) * Cover Git-created pre-list crash E2E ([#68](#68)) * Cover incomplete generated media metadata ([#69](#69)) * Add focused COW ID-band gate ([#70](#70)) * Add focused COW stale-audit gate ([#71](#71)) * Add focused COW schema review gate ([#72](#72)) * Add focused COW plugin validator gate ([#73](#73)) * Add focused COW filesystem gate ([#74](#74)) * Add focused COW explicit ID gate ([#75](#75)) * Add focused COW branch birth gate ([#76](#76)) * Expand focused COW filesystem gate ([#77](#77)) * Expand focused COW media validator gate ([#78](#78)) * Expand focused COW stale audit gate ([#79](#79)) * Expand focused COW plugin validator gate ([#80](#80)) * Expand focused COW schema review gate ([#81](#81)) * Expand focused COW ID-band gate ([#82](#82)) * Expand focused COW media validator gate ([#83](#83)) * Expand focused COW schema dependency gate ([#84](#84)) * Expand focused COW filesystem symlink gate ([#85](#85)) * Expand focused COW branch birth cleanup gate ([#86](#86)) * Expand focused COW plugin validator contract gate ([#87](#87)) * Expand focused COW explicit ID gate ([#88](#88)) * Expand focused COW stale audit gate ([#89](#89)) * Add focused COW WordPress semantic validator gate ([#90](#90)) * Expand focused COW WordPress semantic validator gate ([#91](#91)) * Expand focused COW WordPress media reference gate ([#92](#92)) * Expand focused COW WordPress image block gate ([#93](#93)) * Expand focused COW WordPress term relationship gate ([#94](#94)) * Expand focused COW WordPress option reference gate ([#95](#95)) * Expand focused COW plugin serialized validator gate ([#96](#96)) * Expand focused COW media unsafe path gate ([#97](#97)) * Expand focused COW branch birth file-base gate ([#98](#98)) * Expand focused COW plain IPK ID-band gate ([#99](#99)) * Expand focused COW schema trigger ordering gate ([#100](#100)) * Expand focused COW stale audit keyless gate ([#101](#101)) * Expand focused COW stale audit missing row gate ([#102](#102)) * Expand focused COW media unsafe path gate ([#103](#103)) * Expand focused COW media duplicate ownership gate ([#104](#104)) * Expand focused COW media invalid metadata gate ([#105](#105)) * Expand focused COW media missing generated-file gate ([#106](#106)) * Expand focused COW plugin JSON reference gate ([#107](#107)) * Expand focused COW media dimension drift gate ([#108](#108)) * Expand focused COW media generated filename gate ([#109](#109)) * Expand focused COW filesystem directory delete gate ([#110](#110)) * Add fast router branch action gate ([#111](#111)) * Expand focused filesystem binary conflict gate ([#112](#112)) * Expand focused branch birth file-base gate ([#113](#113)) * Expand focused explicit ID band gate * Expand focused media metadata gate * Expand focused stale audit semantic gate * Expand focused plugin file validator gate * Expand focused schema dependency gate * Expand focused ID-band reuse gate * Expand focused media metadata gate * Expand focused filesystem symlink gate * Expand focused stale audit option gate * Expand focused stale audit identity gate * Expand focused schema index gate * Add focused branch UI test gates * Expand focused stale audit semantic gate * Add page merge smoke regression * Add semantic fast COW test target * Add WordPress comment reference validator coverage * Document comment validator finding shape * Cover plugin validator source evidence drift * Clarify stale audit plugin and schema boundaries * Add schema index stale audit evidence * Add schema object stale audit evidence * Add schema table restore stale audit evidence * Add schema table rebuild stale audit evidence **Full changelog:** v0.1.14...release/v0.1.15 ## Next steps 1. **Review** the changes in this pull request. 2. **Push** any additional edits to this branch (`release/v0.1.15`). 3. **Merge** this pull request to publish `v0.1.15`. Merging will automatically build ForkPress binaries, create a GitHub release, and update the Homebrew formula. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
What it does
Replaces
create_branch_post's admin-editor nonce scrape with a test-only mu-plugin endpoint that creates real published posts viawp_insert_post()on the routed branch host.Rationale
The merge E2E needs real WordPress content on branch hosts, but the old helper depended on
/wp-admin/post-new.phpreturning an authenticated editor shell. CI was getting an unauthenticated page for a UI-created branch, so the test failed before it could exercise the branch merge behavior.Implementation
Adds
forkpress-e2e-post.phpduring the COW E2E setup.create_branch_postnow calls/?forkpress_e2e_post=create&title=...with the target branchHostheader and validates the JSON response.The WP UI create/merge path still uses the real admin actions and nonces; this only removes cookie/nonce bootstrapping from test post creation.
Testing instructions
make test-cowpassed locally. A first run withoutumask 022failed because PHP could not create temporary/tmplock directories, then passed with the expected umask.