Skip to content

bench: add -push-options to send push options with every push - #21

Merged
pjbgf merged 2 commits into
mainfrom
push-options
Oct 20, 2026
Merged

pjbgf merged 2 commits into
mainfrom
push-options

Conversation

@pjbgf

@pjbgf pjbgf commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

https://entire.io/gh/entireio/forgemark/trails/10

The repeatable flag sets Workload.PushOptions, which every push carries: measured pushes, session ref deletes and the stale-ref sweep. Options containing newline or NUL are rejected, as git does.


Note

Low Risk
Additive, optional behavior with input validation and tests; only changes forge-side effects when operators explicitly set push options (e.g. CI skip).

Overview
Adds a repeatable -push-options CLI flag (documented in the README) that mirrors git push -o, storing values on Workload.PushOptions.

Those options are attached to every go-git push in a run: benchmark agent pushes, session checkpoint pushes and ref deletes, and stale bench-ref cleanup. Values may include commas (one option per flag); newline/NUL are rejected in Workload.Validate().

Coverage includes a receive-pack integration test that options appear on push and delete requests.

Reviewed by Cursor Bugbot for commit de52f5f. Configure here.

The repeatable flag sets Workload.PushOptions, which every push carries:
measured pushes, session ref deletes and the stale-ref sweep. Options
containing newline or NUL are rejected, as git does.

Assisted-by: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Paulo Gomes <paulo@entire.io>
Entire-Checkpoint: 21357a0b9ba6
@pjbgf

pjbgf commented Oct 20, 2026

Copy link
Copy Markdown
Member Author

@cursor review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit de52f5f. Configure here.

go-git drops push options a server doesn't advertise and the push still
succeeds, so a requested ci.skip could silently vanish and the run would
measure different remote work. NewRunner now probes the receive-pack
advertisement of every repo on every node and fails before any write
when push-options is missing.

Assisted-by: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Paulo Gomes <paulo@entire.io>
Entire-Checkpoint: d69517bbec64
@pjbgf
pjbgf merged commit e45ac5a into main Oct 20, 2026
3 checks passed
@pjbgf
pjbgf deleted the push-options branch October 20, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant