release

package
v0.45.0 Latest Latest
Warning

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

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

Documentation

Overview

Package release checks the facts about a release that live outside the binary: the changelog, the version notes in doc/, and the sample versions pinned in files that quote one.

The release itself is automated — a v* tag builds binaries, images, and a Homebrew cask, and lifts the release notes out of CHANGELOG.md. What is not automated is agreement: several files name a version, and nothing but this package notices when one of them names the wrong one. Each check below is a fact that has to be true before a tag is pushed, expressed so that the failure says which file to edit.

Check runs against a checked-out tree. With releaseVersion empty it checks the invariants that hold at any commit; with a version (the tag being built) it additionally checks that the tree describes *that* release.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Problem

type Problem struct {
	// File is the repo-relative path to edit, or "" for a whole-tree problem.
	File string
	// Detail says what disagrees with what.
	Detail string
}

Problem is one inconsistency, phrased as what is wrong and where.

func Check

func Check(root, releaseVersion string) ([]Problem, error)

Check returns every inconsistency it finds, in a stable order. An empty result means the tree is ready to tag.

releaseVersion is the version being released, with or without a leading "v", or "" to check only what must hold at every commit.

func (Problem) String

func (p Problem) String() string

Jump to

Keyboard shortcuts

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