[Push] Show selectable files-push progress with one lifecycle bar - #484
Merged
Conversation
adamziel
force-pushed
the
adamziel/files-push-stage-progress
branch
3 times, most recently
from
August 6, 2026 15:20
9563224 to
a23324e
Compare
Contributor
Pull pipeline performance —
|
| Stage | PR | trunk | Δ | Status | Details |
|---|---|---|---|---|---|
playground-sqlite-db-pull |
9.50 s | 9.88 s | ⚪ -384 ms (-3.9%) | ✓ | condition=db-pull in PHP.wasm runtime=php.wasm 8.3 wp_mysql_parser=enabled mode=lexer native_lexer=verified native_token_stream=WP_MySQL_Native_Token_Stream native_token_count=18 native_parser=selected trunk: condition=db-pull in PHP.wasm runtime=php.wasm 8.3 wp_mysql_parser=enabled mode=lexer native_lexer=verified native_token_stream=WP_MySQL_Native_Token_Stream native_token_count=18 native_parser=selected |
playground-sqlite-db-apply |
3.60 s | 3.72 s | ⚪ -113 ms (-3.0%) | ✓ | condition=db-apply to SQLite in PHP.wasm runtime=php.wasm 8.3 wp_mysql_parser=enabled mode=parser native_lexer=verified native_token_stream=WP_MySQL_Native_Token_Stream native_token_count=18 native_parser=verified native_ast=WP_MySQL_Native_Parser_Node sqlite_driver_parser=verified trunk: condition=db-apply to SQLite in PHP.wasm runtime=php.wasm 8.3 wp_mysql_parser=enabled mode=parser native_lexer=verified native_token_stream=WP_MySQL_Native_Token_Stream native_token_count=18 native_parser=verified native_ast=WP_MySQL_Native_Parser_Node sqlite_driver_parser=verified |
| Total | 13.10 s | 13.60 s | ⚪ -497 ms (-3.7%) |
Numbers carry runner noise; treat single-run deltas as directional, not authoritative.
📈 Trunk performance history — commit-by-commit timeline.
adamziel
force-pushed
the
adamziel/files-push-stage-progress
branch
from
August 6, 2026 15:32
a23324e to
8801ad9
Compare
adamziel
force-pushed
the
adamziel/files-push-stage-progress
branch
5 times, most recently
from
August 6, 2026 23:37
92ffe37 to
3225679
Compare
adamziel
changed the base branch from
trunk
to
adamziel/rename-reprint-server-client
August 6, 2026 23:37
adamziel
force-pushed
the
adamziel/files-push-stage-progress
branch
from
August 6, 2026 23:52
3225679 to
a2c0f81
Compare
adamziel
changed the base branch from
adamziel/rename-reprint-server-client
to
trunk
August 6, 2026 23:52
adamziel
force-pushed
the
adamziel/files-push-stage-progress
branch
4 times, most recently
from
August 7, 2026 09:32
ee3ed24 to
ec8fe82
Compare
adamziel
force-pushed
the
adamziel/files-push-stage-progress
branch
from
August 7, 2026 14:51
ec8fe82 to
d74a03f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Interactive
files-pushnow uses one lifecycle progress bar, and--progresscan force terminal or JSONL output independently of TTY detection.The same terminal line redraws in place:
Output can be selected explicitly:
This change
Indexing begins at 15%. The completed index diff reaches 40%, where local-path pushing begins. During that stage, the suffix reports target-confirmed file bytes against the file byte total collected by the single-pass plan. The remaining stages advance from target-confirmed path counts, target-confirmed deletion-list bytes, and phase milestones. The percentage describes lifecycle progress, not elapsed time or a completion-time estimate.
Progress has one data path.
PushPlanexposes its internal phase and raw durable index byte counts.PushFilesSender::get_progress()combines those with target-confirmed upload counts.ImportClientreads that snapshot once after each sender step and maps it directly onto terminal labels and stage weights. The plan and sender do not calculate terminal percentages or expose a second terminal-progress snapshot.--progress=autokeeps terminal output on a TTY and JSONL otherwise.ttyforces the bar;jsonlforces the existingpush_progressrecords and final result. The selector changes live progress presentation, not the result schema, so it follows BuildKit's--progresspattern rather than introducing a general--formatoption. Explicitttyandjsonlmodes reject--verbose, preventing detailed log lines from corrupting the selected presentation.Testing
Run
files-pushin a terminal against a tree with changed files and deletions. Check that one line advances throughIndexing,Pushing, andCommitting, with pushed bytes increasing after target responses. Capture--progress=ttyand check that the bar remains; run--progress=jsonlin a terminal and check that every output line is JSON. Check that either explicit mode rejects--verbosebefore starting a sender.