Documentation
¶
Index ¶
- Variables
- type ArtifactManifest
- type Milestone
- type Plan
- type Release
- func (Release) Candidate(repo string) error
- func (Release) Check(repo string) error
- func (Release) Complete(repo, planFile string) error
- func (Release) Cut(repo string) error
- func (Release) Draft(repo, planFile string) error
- func (Release) List(repo, version string) error
- func (Release) PlanJSON(repo string) error
- func (Release) Prepare(repo string) error
- func (Release) Previews(repo string) error
- func (Release) StageArtifacts(source, destination string) error
- func (Release) SummarizeNotes(repo, releaseID string) error
- func (Release) ValidatePlan(repo, planFile string) error
- func (Release) VerifyArtifacts(dir, tag, commit string) error
- func (Release) VerifyAttestations(dir, repo, tag, commit, workflowSHA string) error
- func (Release) VerifyBuild(dir, tag, commit string) error
- type ReleasePR
Constants ¶
This section is empty.
Variables ¶
var ErrMilestonePolicy = milestone.ErrMilestonePolicy
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 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 ¶
Release groups CI targets for the drafted-release-notes pipeline.
func (Release) Candidate ¶
Candidate dispatches a prerelease without requiring a completed milestone.
func (Release) Check ¶
Check validates the stable-release plan and prints a concise operator summary.
func (Release) Complete ¶
Complete closes the stable milestone only after successful immutable publication. Prereleases are a no-op. This target can retry bookkeeping without republishing.
func (Release) Draft ¶
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 ¶
List displays all PRs assigned to a milestone, independently of release eligibility.
func (Release) PlanJSON ¶
PlanJSON returns the exact plan for the native confirmation flow to capture.
func (Release) Prepare ¶
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 ¶
Previews reconciles informational issues for stable release milestones. These issues never authorize a release, select its source, or create a tag.
func (Release) StageArtifacts ¶
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 ¶
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 ¶
ValidatePlan reauthorizes the workflow and repeats eligibility checks before signing/publication. A prepared artifact is not permission to skip live checks.
func (Release) VerifyArtifacts ¶
VerifyArtifacts checks the actual distributable bytes before publication and writes the exact upload allowlist. It never runs the binaries being inspected.
func (Release) VerifyAttestations ¶
VerifyAttestations verifies cryptographic signatures and expected signer, then checks the authenticated predicate's actual build SHA (not the tooling SHA).
func (Release) VerifyBuild ¶
VerifyBuild checks the unsigned artifacts before they can be signed. Package binaries must be byte-for-byte identical to an already verified Linux binary.