|
50 | 50 |
|
51 | 51 |
|
52 | 52 | @flow(name="branch-rebase", flow_run_name="Rebase branch {branch}") |
53 | | -async def rebase_branch(branch: str, context: InfrahubContext) -> None: # noqa: PLR0915 |
| 53 | +async def rebase_branch(branch: str, context: InfrahubContext, send_events: bool = True) -> None: # noqa: PLR0915 |
54 | 54 | database = await get_database() |
55 | 55 | async with database.start_session() as db: |
56 | 56 | log = get_run_logger() |
@@ -166,30 +166,31 @@ async def rebase_branch(branch: str, context: InfrahubContext) -> None: # noqa: |
166 | 166 | workflow=DIFF_REFRESH_ALL, context=context, parameters={"branch_name": obj.name} |
167 | 167 | ) |
168 | 168 |
|
169 | | - # ------------------------------------------------------------- |
170 | | - # Generate an event to indicate that a branch has been rebased |
171 | | - # ------------------------------------------------------------- |
172 | | - rebase_event = BranchRebasedEvent( |
173 | | - branch_name=obj.name, branch_id=str(obj.uuid), meta=EventMeta(branch=obj, context=context) |
174 | | - ) |
175 | | - events: list[InfrahubEvent] = [rebase_event] |
176 | | - changelog_collector = DiffChangelogCollector( |
177 | | - diff=default_branch_diff, branch=obj, db=db, migration_tracker=MigrationTracker(migrations=migrations) |
178 | | - ) |
179 | | - for action, node_changelog in changelog_collector.collect_changelogs(): |
180 | | - node_event_class = get_node_event(MutationAction.from_diff_action(diff_action=action)) |
181 | | - mutate_event = node_event_class( |
182 | | - kind=node_changelog.node_kind, |
183 | | - node_id=node_changelog.node_id, |
184 | | - changelog=node_changelog, |
185 | | - fields=node_changelog.updated_fields, |
186 | | - meta=EventMeta.from_parent(parent=rebase_event, branch=obj), |
| 169 | + if send_events: |
| 170 | + # ------------------------------------------------------------- |
| 171 | + # Generate an event to indicate that a branch has been rebased |
| 172 | + # ------------------------------------------------------------- |
| 173 | + rebase_event = BranchRebasedEvent( |
| 174 | + branch_name=obj.name, branch_id=str(obj.uuid), meta=EventMeta(branch=obj, context=context) |
187 | 175 | ) |
188 | | - events.append(mutate_event) |
| 176 | + events: list[InfrahubEvent] = [rebase_event] |
| 177 | + changelog_collector = DiffChangelogCollector( |
| 178 | + diff=default_branch_diff, branch=obj, db=db, migration_tracker=MigrationTracker(migrations=migrations) |
| 179 | + ) |
| 180 | + for action, node_changelog in changelog_collector.collect_changelogs(): |
| 181 | + node_event_class = get_node_event(MutationAction.from_diff_action(diff_action=action)) |
| 182 | + mutate_event = node_event_class( |
| 183 | + kind=node_changelog.node_kind, |
| 184 | + node_id=node_changelog.node_id, |
| 185 | + changelog=node_changelog, |
| 186 | + fields=node_changelog.updated_fields, |
| 187 | + meta=EventMeta.from_parent(parent=rebase_event, branch=obj), |
| 188 | + ) |
| 189 | + events.append(mutate_event) |
189 | 190 |
|
190 | | - event_service = await get_event_service() |
191 | | - for event in events: |
192 | | - await event_service.send(event) |
| 191 | + event_service = await get_event_service() |
| 192 | + for event in events: |
| 193 | + await event_service.send(event) |
193 | 194 |
|
194 | 195 |
|
195 | 196 | @flow(name="branch-merge", flow_run_name="Merge branch {branch} into main") |
|
0 commit comments