Help us shape the future of Go! Take the 2026 Go Developer Survey

release

package
v1.233.2 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2026 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrMilestonePolicy = milestone.ErrMilestonePolicy
View Source
var ErrReleaseVerification = errors.New("release verification failed")

ErrReleaseVerification prevents publication when release identity or bytes disagree.

Functions

This section is empty.

Types

type ArtifactManifest

type ArtifactManifest struct {
	Tag    string            `json:"tag"`
	Commit string            `json:"commit"`
	Assets map[string]string `json:"assets"`
}

ArtifactManifest binds the files uploaded to a release to its tag and commit.

type Milestone

type Milestone = milestone.Milestone

type Plan

type Plan struct {
	Repository  string                 `json:"repository"`
	Milestone   Milestone              `json:"milestone"`
	Version     string                 `json:"version"`
	Commit      string                 `json:"commit"`
	PreviousTag string                 `json:"previous_tag"`
	Branch      string                 `json:"branch"`
	Mode        string                 `json:"mode"`
	Entries     []releasenotes.PREntry `json:"entries"`
	Unfinished  []int                  `json:"unfinished"`
}

Plan freezes the version and source chosen before dispatch. GitHub recomputes the plan before creating a tag; the local plan is never authorization evidence.

type Release

type Release mg.Namespace

Release groups CI targets for the drafted-release-notes pipeline.

func (Release) Candidate

func (Release) Candidate(repo string) error

Candidate dispatches a prerelease without requiring a completed milestone.

func (Release) Check

func (Release) Check(repo string) error

Check validates the stable-release plan and prints a concise operator summary.

func (Release) Complete

func (Release) Complete(repo, planFile string) error

Complete closes the stable milestone only after successful immutable publication. Prereleases are a no-op. This target can retry bookkeeping without republishing.

func (Release) Cut

func (Release) Cut(repo string) error

Cut dispatches the exact plan confirmed by the Atmos UI, then follows its run.

func (Release) Draft

func (Release) Draft(repo, planFile string) error

Draft creates notes for the already-tagged, verified source. No version is inferred from labels or an existing draft. Call after building the artifacts.

func (Release) List

func (Release) List(repo, version string) error

List displays all PRs assigned to a milestone, independently of release eligibility.

func (Release) PlanJSON

func (Release) PlanJSON(repo string) error

PlanJSON returns the exact plan for the native confirmation flow to capture.

func (Release) Prepare

func (Release) Prepare(repo string) error

Prepare validates workflow inputs and reserves the immutable build identity. It creates a tag, never a release or release assets. Run only on trusted tooling.

func (Release) Previews

func (Release) Previews(repo string) error

Previews reconciles informational issues for stable release milestones. These issues never authorize a release, select its source, or create a tag.

func (Release) StageArtifacts

func (Release) StageArtifacts(source, destination string) error

StageArtifacts copies GoReleaser's uploadable files under their public asset names. Binary-format archives keep their original build paths in dist; the public name exists only in artifacts.json, not as a top-level file on disk.

func (Release) SummarizeNotes

func (Release) SummarizeNotes(repo, releaseID string) error

SummarizeNotes rewrites a drafted GitHub release's skeleton body (see .github/auto-release.yml) as collapsible per-PR notes with condensed descriptions, so the release stays well under GitHub's 125,000-character limit on a repo that merges many pull requests between releases (see docs/fixes). With OPENAI_API_KEY the descriptions are summarized by the model; without it, CodeRabbit's summary or a truncated description stands in. Thin: reads the environment and builds the real HTTP client, then delegates to summarizeNotes, which holds the actual (tested) skip/success/warning logic.

Set RELEASE_NOTES_DRY_RUN=1 to print the summarized body to stdout instead of updating the release - the way to preview the result, or to verify the OpenAI key and model work, against a real draft without modifying it.

func (Release) ValidatePlan

func (Release) ValidatePlan(repo, planFile string) error

ValidatePlan reauthorizes the workflow and repeats eligibility checks before signing/publication. A prepared artifact is not permission to skip live checks.

func (Release) VerifyArtifacts

func (Release) VerifyArtifacts(dir, tag, commit string) error

VerifyArtifacts checks the actual distributable bytes before publication and writes the exact upload allowlist. It never runs the binaries being inspected.

func (Release) VerifyAttestations

func (Release) VerifyAttestations(dir, repo, tag, commit, workflowSHA string) error

VerifyAttestations verifies cryptographic signatures and expected signer, then checks the authenticated predicate's actual build SHA (not the tooling SHA).

func (Release) VerifyBuild

func (Release) VerifyBuild(dir, tag, commit string) error

VerifyBuild checks the unsigned artifacts before they can be signed. Package binaries must be byte-for-byte identical to an already verified Linux binary.

type ReleasePR

type ReleasePR = milestone.ReleasePR

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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