Skip to main content

Module submit

Module submit 

Source
Expand description

Three-phase submission engine

Handles the workflow of submitting stacked bookmarks as PRs/MRs:

  1. Analysis - understand what needs to be submitted
  2. Planning - determine what PRs to create/update
  3. Execution - perform the actual operations

Structs§

NoopProgress
No-op progress callback for testing or when progress isn’t needed
PrBaseUpdate
Information about a PR that needs its base updated
PrToCreate
Information about a PR that needs to be created
StackCommentData
Stack comment data embedded in PR comments
StackItem
A single item in the stack
SubmissionAnalysis
Result of submission analysis
SubmissionPlan
Submission plan
SubmissionResult
Result of submission execution

Enums§

ExecutionConstraint
Dependency constraint between execution operations.
ExecutionStep
Ordered execution step for a submission plan
Phase
Submission phase
PushStatus
Push operation status

Constants§

COMMENT_DATA_POSTFIX
Postfix for stack comment data
COMMENT_DATA_PREFIX
Prefix for stack comment data
STACK_COMMENT_THIS_PR
Marker for the current PR in stack comments

Traits§

ProgressCallback
Progress callback trait

Functions§

analyze_submission
Analyze what needs to be submitted for a given bookmark
build_stack_comment_data
Build stack comment data from the plan and PRs
create_narrowed_segments
Create narrowed segments from resolved bookmarks and analysis
create_submission_plan
Create a submission plan
execute_submission
Execute a submission plan
format_stack_comment
Format the stack comment body for a PR (defaults to GitHub format)
generate_pr_title
Generate a PR title from the bookmark’s commits
get_base_branch
Get the expected base branch for a bookmark in a submission
select_bookmark_for_segment
Select a single bookmark from a segment using heuristics