< Summary - go-semantic-release Coverage

Information
Line coverage
100%
Covered lines: 11
Uncovered lines: 0
Coverable lines: 11
Total lines: 39
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
Name0%00100%
GenerateNotes0%00100%

File(s)

/home/runner/work/go-semantic-release/go-semantic-release/internal/adapters/plugins/release_notes.go

#LineLine coverage
 1package plugins
 2
 3import (
 4  "context"
 5
 6  "github.com/jedi-knights/go-semantic-release/internal/domain"
 7  "github.com/jedi-knights/go-semantic-release/internal/ports"
 8)
 9
 10// Compile-time interface compliance checks.
 11var (
 12  _ ports.Plugin              = (*ReleaseNotesPlugin)(nil)
 13  _ ports.GenerateNotesPlugin = (*ReleaseNotesPlugin)(nil)
 14)
 15
 16// ReleaseNotesPlugin implements GenerateNotesPlugin using a changelog generator.
 17type ReleaseNotesPlugin struct {
 18  generator ports.ChangelogGenerator
 19  sections  []domain.ChangelogSectionConfig
 20}
 21
 22// NewReleaseNotesPlugin creates the default release notes generator plugin.
 23func NewReleaseNotesPlugin(generator ports.ChangelogGenerator, sections []domain.ChangelogSectionConfig) *ReleaseNotesPl
 24  return &ReleaseNotesPlugin{generator: generator, sections: sections}
 25}
 26
 127func (p *ReleaseNotesPlugin) Name() string { return "release-notes-generator" }
 28
 329func (p *ReleaseNotesPlugin) GenerateNotes(_ context.Context, rc *domain.ReleaseContext) (string, error) {
 130  if rc.CurrentProject == nil {
 131    return "", nil
 132  }
 233  return p.generator.Generate(
 234    rc.CurrentProject.NextVersion,
 235    rc.CurrentProject.Project.Name,
 236    rc.CurrentProject.Commits,
 237    p.sections,
 238  )
 39}

Methods/Properties

Name
GenerateNotes