# Objective This PR codifies one of the scenarios I've used to measure build health of a codebase via [Wezel](https://wezel.build), a tool I've built for that purpose. ## Solution `wezel exp run incremental-editor` ## Testing - Did you test these changes? If so, how? - Are there any parts that need more testing? - How can other people (reviewers) test your changes? Is there anything specific they need to know? - If relevant, what platforms did you test these changes on, and are there any important ones you can't test? ## Self-Review Checklist: - [ ] I've reviewed my own diff for quality, security, and reliability - [ ] Unsafe blocks (if any) have justifying comments - [ ] The content adheres to Zed's UI standards ([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) and [icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md) guidelines) - [ ] Tests cover the new/changed behavior - [ ] Performance impact has been considered and is acceptable ## Showcase > This section is optional. If this PR does not include a visual change or does not add a new user-facing feature, you can delete this section. - Help others understand the result of this PR by showcasing your awesome work! - If this PR includes a visual change, consider adding a screenshot, GIF, or video - A before/after comparison is very useful for changes to existing features! While a showcase should aim to be brief and digestible, you can use a toggleable section to save space on longer showcases: <details> <summary>Click to view showcase</summary> My super cool demos here </details> --- Release Notes: - N/A or Added/Fixed/Improved ...
24 lines
993 B
TOML
24 lines
993 B
TOML
#:schema ../../schema.json
|
|
|
|
description = "Measures rebuild time after a trivial edit to the editor crate"
|
|
|
|
# `zed` rather than `workspace`: it pulls in the whole editor -> ... -> binary
|
|
# chain that a developer actually waits on, without also building collab, the
|
|
# benchmarks and the other workspace members that no editor edit can affect.
|
|
|
|
# Prime the build cache off a clean build, so the measured step below pays only
|
|
# for editor and its dependents.
|
|
[step.cargo.prime-cache]
|
|
command = "build"
|
|
build_target = ["zed"]
|
|
|
|
# The patch only appends an empty `//!` line to the crate-root doc comment, so
|
|
# nothing about editor's public surface changes. What's left is the floor cost
|
|
# of touching the crate at all: rustc's incremental reuse for editor itself,
|
|
# plus the relink of every crate downstream of it.
|
|
[step.cargo.editor-doc-comment]
|
|
apply-diff = true
|
|
command = "build"
|
|
build_target = ["zed"]
|
|
summary.incremental-editor-build = { outcome = "time_ms", aggregation = "min", samples = 5 }
|