Skip to content

Release: Verify SVN deployment after publication - #82513

Draft
ciampo wants to merge 1 commit into
trunkfrom
codex/verify-svn-release-deployment
Draft

Release: Verify SVN deployment after publication#82513
ciampo wants to merge 1 commit into
trunkfrom
codex/verify-svn-release-deployment

Conversation

@ciampo

@ciampo ciampo commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Closes #55295. Closes #79804. Related: #79919.

What?

Verify the complete SVN deployment before reporting a release as successful, including when SVN reports a publish error or the release tag already exists.

Why?

The 23.9.0 upload failed with E160013: '/gutenberg' path not found after SVN had committed both trunk and the tag in revision 3678189. All 2,181 files match the release ZIP after applying the workflow's stable-tag substitution and changelog artifact. This matches the failure pattern reported in both issues; the underlying SVN server or network cause remains unconfirmed.

How?

Share the publication logic between trunk and tag-only uploads. After publication, export each required path at the same SVN revision and compare all paths and file contents against the prepared release. Retry verification for up to 15 minutes, with a fresh revision per attempt and bounded SVN reads.

Only a complete match succeeds. Missing, different, or unreadable content remains a failure. Existing tags receive the same verification, and uncertain writes are never repeated automatically. The verified revision appears in the logs and job summary.

This retains the atomic trunk-and-tag commit. #79919 separately proposes changing the upload strategy. Verification covers SVN contents; WordPress.org ZIP generation and distribution can finish later.

Testing Instructions

Run bash tools/release/test/publish-to-svn.sh on Linux with Subversion and GNU diff/timeout installed. The tests use disposable local SVN repositories and need no WordPress.org credentials.

They cover successful publication, a committed transaction followed by a simulated failed response, identical existing releases, missing or different files despite matching version headers, failed and stalled reads, delayed content visibility, tag-only releases, and concurrent changes that must not produce a match across different revisions. The new CI job runs this suite.

Validation
  • Reproduced the failed-response case with the previous publication commands.
  • Verified the 23.9.0 SVN trunk and tag at revision 3678189 against the release ZIP and original workflow changelog artifact.
  • Full build, ShellCheck, and Actionlint passed.
  • No production release was triggered or SVN content changed during testing.

Use of AI Tools

Codex investigated the failure, implemented the change, and ran the verification described above.

@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. To trigger a review, include @coderabbitai review in the PR description. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: 4b6f299d-b8bf-495f-9308-60b09906f7a4

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@ciampo ciampo added the [Type] Bug An existing feature does not function as intended label Sep 6, 2026
@ciampo ciampo self-assigned this Sep 6, 2026
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown

🤖 PR meta 🤖

⚡ Performance

Show the results

Client side metrics exclude the server response time.

front-end-block-theme

Metric f8f0954 trunk % Change
timeToFirstByte 64.9 ms +2.54% -10.09% 64.8 ms +4.4% -12.11% 0.15%
largestContentfulPaint 104 ms +3.85% -9.62% 100 ms +8% -12% 4%
lcpMinusTtfb 36.85 ms +13.16% -15.88% 32.5 ms +21.38% -8.62% 13.38%
wpBeforeTemplate 35.03 ms +2.48% -15.96% 34.44 ms +4.65% -20.09% 1.71%
wpTemplate 24.81 ms +3.67% -1.41% 25.56 ms +2.74% -3.48% -2.93%
wpTotal 60.17 ms +1.31% -9.01% 59.68 ms +4.79% -10.76% 0.82%
wpMemoryUsage 7.52 MB +0% -0% 7.48 MB +0% -0% 0.46%
wpDbQueries 17 +0% -0% 17 +0% -0% 0%

front-end-classic-theme

Metric f8f0954 trunk % Change
timeToFirstByte 43.65 ms +8.93% -2.75% 45.55 ms +5.05% -5.38% -4.17%
largestContentfulPaint 92 ms +4.35% -4.35% 90 ms +4.44% -2.22% 2.22%
lcpMinusTtfb 45.6 ms +6.25% -0.66% 45.2 ms +2.1% -3.54% 0.88%
wpBeforeTemplate 26.03 ms +14.18% -2.69% 26.78 ms +13.37% -4.56% -2.8%
wpTemplate 14.25 ms +5.4% -1.26% 14.18 ms +8.67% -2.19% 0.49%
wpTotal 40.58 ms +9.09% -2.44% 42.35 ms +5.24% -5.57% -4.18%
wpMemoryUsage 5.51 MB +0% -0% 5.47 MB +0% -0% 0.64%
wpDbQueries 14 +0% -0% 14 +0% -0% 0%

media-processing

Metric f8f0954 trunk % Change
mediaProcessingJpeg 402.02 ms +0.1% -0.33% 399.35 ms +1.75% -0.28% 0.67%
mediaProcessingAvif 6184.12 ms +0.43% -0.29% 6194.05 ms +0.17% -0.06% -0.16%
mediaProcessingJpegToAvif 4393.3 ms +0.3% -0.15% 4407.07 ms +0.2% -0.2% -0.31%

media-upload

Metric f8f0954 trunk % Change
jpegUploadProcessing 1434.26 ms +0.44% -0.7% 1424.99 ms +1.74% -0.72% 0.65%
pngUploadProcessing 206.77 ms +7.4% -3.67% 213.34 ms +2.7% -3.6% -3.08%
largeJpegUploadProcessing 1400.81 ms +0.39% -0.29% 1415.2 ms +0.37% -0.8% -1.02%
multipleImageUploadProcessing 1553.48 ms +0.4% -1.4% 1537.22 ms +1.06% -0.17% 1.06%

post-editor

Metric f8f0954 trunk % Change
serverResponse 310.8 ms +4.75% -7.44% 307.36 ms +1.71% -5.38% 1.12%
firstPaint 198.22 ms +10.39% -14.7% 181.65 ms +28.67% -17.31% 9.12%
domContentLoaded 904.17 ms +5.94% -0.35% 893.98 ms +1.51% -0.99% 1.14%
loaded 905.26 ms +5.94% -0.37% 894.9 ms +1.51% -0.98% 1.16%
firstContentfulPaint 308.82 ms +1.13% -2.35% 301.3 ms +2.55% -3.06% 2.5%
firstBlock 2453.67 ms +0.95% -1.3% 2384.92 ms +0.65% -1.29% 2.88%
type 12.8 ms +9.14% -3.28% 12.93 ms +6.88% -2.01% -1.01%
typeWithoutInspector 12.85 ms +2.41% -4.51% 12.4 ms +8.63% -1.94% 3.63%
typeWithTopToolbar 15.26 ms +1.57% -3.41% 15.19 ms +1.84% -6.12% 0.46%
typeContainer 7.87 ms +14.61% -5.72% 7.8 ms +7.05% -6.03% 0.9%
focus 61.16 ms +14.03% -5.2% 59.38 ms +10.05% -3.81% 3%
firstFocus 120.51 ms +0% -0% 122.2 ms +0% -0% -1.38%
selectAll 357.45 ms +4.29% -0.07% 360.71 ms +2.35% -3.42% -0.9%
listViewOpen 52.17 ms +11.65% -10.5% 50.38 ms +10.52% -8.89% 3.55%
inserterOpen 19.32 ms +8.8% -8.7% 18.01 ms +12.27% -2.67% 7.27%
inserterHover 3.83 ms +10.7% -16.71% 3.44 ms +16.86% -16.86% 11.34%
inserterSearch 7.82 ms +9.97% -7.42% 7.17 ms +11.85% -6% 9.07%
loadPatterns 487.47 ms +1.94% -4.72% 474.06 ms +3.12% -3.35% 2.83%
wpTotal 302.6 ms +5.04% -7.44% 299.98 ms +1.67% -5.56% 0.87%
wpMemoryUsage 13.06 MB +0% -0% 13.02 MB +0% -0% 0.28%
wpDbQueries 54 +0% -0% 54 +0% -0% 0%

site-editor

Metric f8f0954 trunk % Change
serverResponse 412.82 ms +2.5% -11.86% 410.13 ms +1.81% -6.39% 0.66%
firstPaint 358.64 ms +20.76% -32.57% 221.57 ms +8.17% -3.05% 61.86%
domContentLoaded 1366.1 ms +1.56% -2.14% 1352.54 ms +1.25% -1.09% 1%
loaded 1367.21 ms +1.57% -2.14% 1353.75 ms +1.25% -1.1% 0.99%
firstContentfulPaint 435.31 ms +3.18% -1.22% 425.66 ms +2.63% -1.03% 2.27%
firstBlock 4197.31 ms +0.18% -0.97% 4185.22 ms +1.19% -0.25% 0.29%
type 14.56 ms +6.52% -2.4% 15.59 ms +9.43% -9.04% -6.61%
navigate 101.19 ms +14.77% -4.5% 98.78 ms +2.38% -7.11% 2.44%
loadPatterns 1279.83 ms +19.49% -3.18% 1447.41 ms +2.43% -3.56% -11.58%
loadPages 1098.81 ms +4.46% -2.73% 1129.09 ms +5.4% -5.55% -2.68%
wpTotal 401.97 ms +2.61% -12.07% 399.66 ms +1.84% -6.69% 0.58%
wpMemoryUsage 12.07 MB +0% -0% 12.04 MB +0% -0% 0.23%
wpDbQueries 43 +2.33% -0% 43 +2.33% -0% 0%

93b9da7 Run

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

Labels

[Type] Bug An existing feature does not function as intended

Projects

None yet

1 participant