merge

package
v0.1.0-dev.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 26, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package merge consumes committing merge requests from Runway's merge queue. A request asks Runway to apply an ordered sequence of merge steps onto the target branch and commit the result.

Currently a parse-and-log stub: it deserializes the MergeRequest off the queue and logs it. The real merge (apply and commit the steps, then publish a MergeResult with the produced revisions to the merge-signal queue) is not wired yet.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Controller

type Controller struct {
	// contains filtered or unexported fields
}

Controller handles merge queue messages.

func NewController

func NewController(p Params) *Controller

NewController creates a new merge controller for the runway service.

func (*Controller) ConsumerGroup

func (c *Controller) ConsumerGroup() string

ConsumerGroup returns the consumer group for offset tracking.

func (*Controller) Name

func (c *Controller) Name() string

Name returns the controller name for logging and metrics.

func (*Controller) Process

func (c *Controller) Process(ctx context.Context, delivery consumer.Delivery) (retErr error)

Process deserializes the merge request and logs it. Returns nil to ack, or an error to nack.

func (*Controller) TopicKey

func (c *Controller) TopicKey() consumer.TopicKey

TopicKey returns the topic key this controller subscribes to.

type Params

type Params struct {
	TopicKey      consumer.TopicKey
	ConsumerGroup string

	Scope  tally.Scope
	Logger *zap.SugaredLogger
}

Params are the parameters for creating a new merge controller.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL