docs(README): add release documentation#3586
Conversation
Simple documentation on how to release Neqo and downstream into Firefox.
There was a problem hiding this comment.
Pull request overview
Adds a release playbook to the repository README that documents how to cut Neqo releases and land the corresponding dependency updates into Firefox.
Changes:
- Documented Neqo semantic versioning expectations while <1.0 (minor vs patch meaning).
- Added step-by-step guidance for minor releases from
main(tagging, GitHub release, Bugzilla, Firefox vendoring/vetting, Phabricator submission). - Added step-by-step guidance for patch releases from long-lived
vX.Yrelease branches.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Clear, well-structured release runbook. The step-by-step flow for both minor and patch releases is easy to follow, and the cross-references to real Bugzilla/Phabricator examples are a nice touch for anyone doing this for the first time.
One optional suggestion inline about adding a CI verification step before publishing the GitHub release.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3586 +/- ##
==========================================
- Coverage 95.00% 94.85% -0.15%
==========================================
Files 109 114 +5
Lines 37586 37931 +345
Branches 37586 37931 +345
==========================================
+ Hits 35709 35980 +271
- Misses 1187 1251 +64
- Partials 690 700 +10
Flags with carried forward coverage won't be shown. Click here to find out more.
|
omansfeld
left a comment
There was a problem hiding this comment.
Compared with my notes and looks good! Thanks for doing the write-up, specifically for uplifts, too.
Benchmark resultsNo significant performance differences relative to 602dd4e. All resultstransfer/1-conn/1-100mb-resp (aka. Download): No change in performance detected. time: [201.05 ms 201.37 ms 201.73 ms]
thrpt: [495.71 MiB/s 496.61 MiB/s 497.38 MiB/s]
change:
time: [-0.3307% -0.1233% +0.0979] (p = 0.27 > 0.05)
thrpt: [-0.0978% +0.1235% +0.3318]
No change in performance detected.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severetransfer/1-conn/10_000-parallel-1b-resp (aka. RPS): No change in performance detected. time: [283.37 ms 285.34 ms 287.40 ms]
thrpt: [34.794 Kelem/s 35.045 Kelem/s 35.290 Kelem/s]
change:
time: [-1.7926% -0.8189% +0.2032] (p = 0.12 > 0.05)
thrpt: [-0.2028% +0.8256% +1.8253]
No change in performance detected.
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mildtransfer/1-conn/1-1b-resp (aka. HPS): Change within noise threshold. time: [39.040 ms 39.235 ms 39.449 ms]
thrpt: [25.349 B/s 25.487 B/s 25.615 B/s]
change:
time: [+0.2023% +0.8751% +1.5459] (p = 0.01 < 0.05)
thrpt: [-1.5224% -0.8675% -0.2019]
Change within noise threshold.
Found 12 outliers among 100 measurements (12.00%)
12 (12.00%) high severetransfer/1-conn/1-100mb-req (aka. Upload): Change within noise threshold. time: [203.29 ms 203.70 ms 204.17 ms]
thrpt: [489.79 MiB/s 490.92 MiB/s 491.90 MiB/s]
change:
time: [+0.2640% +0.6569% +1.0240] (p = 0.00 < 0.05)
thrpt: [-1.0136% -0.6526% -0.2633]
Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severestreams/walltime/1-streams/each-1000-bytes: Change within noise threshold. time: [587.33 µs 588.94 µs 590.90 µs]
change: [-1.4988% -1.0189% -0.5548] (p = 0.00 < 0.05)
Change within noise threshold.
Found 11 outliers among 100 measurements (11.00%)
6 (6.00%) high mild
5 (5.00%) high severestreams/walltime/1000-streams/each-1-bytes: Change within noise threshold. time: [12.235 ms 12.256 ms 12.278 ms]
change: [-0.8136% -0.5018% -0.2169] (p = 0.00 < 0.05)
Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mildstreams/walltime/1000-streams/each-1000-bytes: No change in performance detected. time: [44.505 ms 44.570 ms 44.637 ms]
change: [-0.3500% -0.1824% +0.0235] (p = 0.06 > 0.05)
No change in performance detected.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high severetransfer/walltime/pacing-false/varying-seeds: Change within noise threshold. time: [23.283 ms 23.314 ms 23.362 ms]
change: [-1.0048% -0.8503% -0.6383] (p = 0.00 < 0.05)
Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
2 (2.00%) high mild
2 (2.00%) high severetransfer/walltime/pacing-true/varying-seeds: Change within noise threshold. time: [23.560 ms 23.593 ms 23.639 ms]
change: [-0.6627% -0.4544% -0.2170] (p = 0.00 < 0.05)
Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
2 (2.00%) high mild
1 (1.00%) high severetransfer/walltime/pacing-false/same-seed: Change within noise threshold. time: [23.398 ms 23.424 ms 23.461 ms]
change: [-1.1559% -0.9971% -0.8225] (p = 0.00 < 0.05)
Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low mild
1 (1.00%) high mild
2 (2.00%) high severetransfer/walltime/pacing-true/same-seed: Change within noise threshold. time: [23.829 ms 23.853 ms 23.882 ms]
change: [-1.1346% -0.9302% -0.7592] (p = 0.00 < 0.05)
Change within noise threshold.
Found 5 outliers among 100 measurements (5.00%)
4 (4.00%) high mild
1 (1.00%) high severeDownload data for |
Failed Interop TestsQUIC Interop Runner, client vs. server, differences relative to
All resultsSucceeded Interop TestsQUIC Interop Runner, client vs. server neqo-pr as client
neqo-pr as server
Unsupported Interop TestsQUIC Interop Runner, client vs. server neqo-pr as client
neqo-pr as server
|
Client/server transfer resultsPerformance differences relative to 602dd4e. Transfer of 33554432 bytes over loopback, min. 100 runs. All unit-less numbers are in milliseconds.
Table above only shows statistically significant changes. See all results below. All resultsTransfer of 33554432 bytes over loopback, min. 100 runs. All unit-less numbers are in milliseconds.
Download data for |
Simple documentation on how to release Neqo and downstream into Firefox.