Files
go-semantic-release/internal/releaser/releasers/github.go

37 lines
1000 B
Go

package releasers
import (
"github.com/Nightapes/go-semantic-release/pkg/config"
)
// GITHUB identifer for github interface
const GITHUB = "github"
// GitHubReleaser type struct
type GitHubReleaser struct {
RepositoryURL string
TagName string `json:"tag_name"`
TargetCommitish string `json:"target_commitish"`
ReleaseName string `json:"name"`
ReleaseMessage string `json:"body"`
Draft bool `json:"draft,omitempty"`
Prerelease bool `json:"prerelease,omitempty"`
// Assets
}
// CreateRelease creates release on remote
func (g *GitHubReleaser) CreateRelease(releaseName, releaseMessage string) error {
g.ReleaseName = releaseName
g.ReleaseMessage = releaseMessage
return nil
}
// NewGitHubReleaser initialize a new GitHubRelease
func NewGitHubReleaser(c *config.ReleaseConfig, branch, latestVersion string) *GitHubReleaser {
return &GitHubReleaser{
RepositoryURL: c.Github["url"],
TargetCommitish: branch,
TagName: latestVersion,
}
}