Skip to content

Commit 51286d6

Browse files
committed
docs: add release preparation checklist
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
1 parent 6c18bae commit 51286d6

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

MAINTAINERS.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,47 @@ Operational authority is stricter than code review authority.
6060
| Security advisory handling | `@DeusData` only | Do not delegate across advisories. Keep private reports isolated. |
6161
| Workflow, ruleset, CODEOWNERS, and branch protection changes | `@DeusData` only | Owner-only because these define authority itself. |
6262

63+
## Release Preparation Checklist
64+
65+
Release preparation is a checklist-driven operation. A release is not ready
66+
until each required gate is green or explicitly waived by the project owner in
67+
the release notes.
68+
69+
- `dry-run.yml` completes successfully with the release candidate commit.
70+
- Local performance benchmarks are run on the release operator's machine using
71+
the release candidate binary and CLI indexing, not test-only shortcuts.
72+
- `scripts/benchmark-index.sh` records results for the Linux kernel and for at
73+
least one large open-source project per supported Hybrid LSP family.
74+
- Benchmark results are compared against the previous release's benchmark logs
75+
using the same machine class, same repository revisions, same indexing mode,
76+
and same benchmark script when available.
77+
- Indexing time must not materially regress compared with the previous release.
78+
An unexplained slowdown greater than 15% on the same benchmark input is a
79+
release blocker until investigated or explicitly owner-waived.
80+
- Node and edge counts must not materially diverge from the previous release
81+
unless the release intentionally changes extraction behavior. Unexpected
82+
graph-size shifts require investigation before publishing.
83+
- Benchmark logs, repository revisions, binary version, machine details, and
84+
release decision are retained with the release preparation notes.
85+
86+
The current Hybrid LSP release benchmark matrix is:
87+
88+
| LSP family | Required large OSS benchmark |
89+
| --- | --- |
90+
| C / C++ | Linux kernel |
91+
| Go | Kubernetes |
92+
| Python | CPython or Django |
93+
| TypeScript / JavaScript / JSX / TSX | TypeScript or VS Code |
94+
| PHP | Laravel framework |
95+
| C# | Roslyn |
96+
| Java | Spring Framework or Elasticsearch |
97+
| Kotlin | Kotlin compiler or Ktor |
98+
| Rust | Rust compiler |
99+
100+
The matrix may be updated by PR as the project evolves, but every supported
101+
Hybrid LSP family keeps at least one large OSS indexing benchmark before a
102+
release is published.
103+
63104
Repository access follows the same authority model:
64105

65106
- `Triage` is the default collaborator role for issue-only delegation.

0 commit comments

Comments
 (0)