releaseplan

package
v1.234.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: Nov 5, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package releaseplan plans independently versioned plugin releases from committed sources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BuildEntry

type BuildEntry struct {
	Entry
	Platform   string `json:"platform"`
	Runner     string `json:"runner,omitempty"`
	Artifact   string `json:"artifact"`
	Executable string `json:"executable"`
}

BuildEntry assigns one declared platform to a CI runner and artifact name.

type Entry

type Entry struct {
	Name       string `json:"name"`
	Path       string `json:"path"`
	Version    string `json:"version"`
	Source     string `json:"source"`
	Repository string `json:"repository"`
}

Entry pins one package to committed source and its manifest version.

type Git

type Git struct{ Runner process.Runner }

Git reads repository objects through the shared process runner.

func (Git) Run

func (g Git) Run(ctx context.Context, args ...string) ([]byte, error)

Run invokes Git with arguments kept separate from shell syntax.

type Inventory

type Inventory = packageinventory.File

Inventory declares packages and CI runner assignments independently of the CI provider.

type Matrix

type Matrix[T any] struct {
	Include []T `json:"include"`
}

Matrix is an explicit CI matrix include list.

type Option

type Option func(*settings)

Option configures committed-source planning.

func WithBase

func WithBase(value string) Option

WithBase checks independent version increases against a committed revision.

func WithHead

func WithHead(value string) Option

WithHead selects the committed revision to plan.

func WithInventory

func WithInventory(value string) Option

WithInventory selects a repository-relative inventory file.

func WithRepository

func WithRepository(repository Repository) Option

WithRepository injects repository access.

type Package

type Package = packageinventory.Package

Package identifies a package and its additional repository-relative build inputs.

type Plan

type Plan struct {
	Packages Matrix[Entry]      `json:"packages"`
	Build    Matrix[BuildEntry] `json:"build"`
}

Plan includes all declared packages for idempotent release reconciliation.

func Create

func Create(ctx context.Context, options ...Option) (*Plan, error)

Create reads only committed objects, ignoring uncommitted working tree changes.

type Repository

type Repository interface {
	Run(context.Context, ...string) ([]byte, error)
}

Repository reads committed repository objects without checking them out.

Jump to

Keyboard shortcuts

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