< Summary - go-semantic-release Coverage

Information
Line coverage
100%
Covered lines: 6
Uncovered lines: 0
Coverable lines: 6
Total lines: 48
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
HasErrors0%00100%

File(s)

/home/runner/work/go-semantic-release/go-semantic-release/internal/domain/release_result.go

#LineLine coverage
 1package domain
 2
 3// ReleaseResult captures the outcome of a release execution.
 4type ReleaseResult struct {
 5  Projects []ProjectReleaseResult
 6  DryRun   bool
 7}
 8
 9// ProjectReleaseResult captures the outcome for a single project release.
 10type ProjectReleaseResult struct {
 11  Project        Project
 12  CurrentVersion Version // version before this release
 13  Version        Version // next (released) version
 14  TagName        string
 15  TagCreated     bool
 16  Published      bool
 17  PublishURL     string // e.g. GitHub release URL
 18  Changelog      string // rendered changelog content
 19  // Error holds the per-project failure. It is excluded from JSON serialization
 20  // because encoding/json cannot marshal arbitrary error interfaces. Use
 21  // ErrorMessage for JSON output.
 22  Error        error  `json:"-"`
 23  ErrorMessage string `json:"error,omitempty"` // human-readable form of Error for JSON consumers
 24  Skipped      bool
 25  SkipReason   string
 26}
 27
 28// HasErrors returns true if any project release encountered an error.
 329func (rr ReleaseResult) HasErrors() bool {
 330  for i := range rr.Projects {
 131    if rr.Projects[i].Error != nil {
 132      return true
 133    }
 34  }
 235  return false
 36}
 37
 38// SetError sets both the Error and ErrorMessage fields atomically, keeping
 39// them consistent. Use this instead of assigning the fields individually to
 40// prevent them from diverging.
 41func (pr *ProjectReleaseResult) SetError(err error) {
 42  pr.Error = err
 43  if err != nil {
 44    pr.ErrorMessage = err.Error()
 45  } else {
 46    pr.ErrorMessage = ""
 47  }
 48}

Methods/Properties

HasErrors