Support pre release
This commit is contained in:
@@ -28,6 +28,11 @@ Fetches and creates versioned GitHub resources.
|
||||
will be detected and published. Note that releases must have semver compliant
|
||||
tags to be detected, even if they're drafts.
|
||||
|
||||
* `pre_release`: *Optional. Default `false`.* When set to `true`, `put` produces
|
||||
pre-release and `check` only detects prereleases. If `false`, only non-prerelease releases
|
||||
will be detected and published. Note that releases must have semver compliant
|
||||
tags to be detected.
|
||||
|
||||
### Example
|
||||
|
||||
``` yaml
|
||||
|
@@ -35,6 +35,10 @@ func (c *CheckCommand) Run(request CheckRequest) ([]Version, error) {
|
||||
if request.Source.Drafts != *release.Draft {
|
||||
continue
|
||||
}
|
||||
if request.Source.PreRelease != *release.Prerelease {
|
||||
continue
|
||||
}
|
||||
|
||||
if release.TagName == nil {
|
||||
continue
|
||||
}
|
||||
@@ -67,7 +71,7 @@ func (c *CheckCommand) Run(request CheckRequest) ([]Version, error) {
|
||||
|
||||
for _, release := range filteredReleases {
|
||||
if !upToLatest {
|
||||
if *release.Draft {
|
||||
if *release.Draft || *release.Prerelease {
|
||||
id := *release.ID
|
||||
upToLatest = request.Version.ID == strconv.Itoa(id)
|
||||
} else {
|
||||
|
@@ -58,12 +58,14 @@ func (c *OutCommand) Run(sourceDir string, request OutRequest) (OutResponse, err
|
||||
}
|
||||
|
||||
draft := request.Source.Drafts
|
||||
prerelease := request.Source.PreRelease
|
||||
|
||||
release := &github.RepositoryRelease{
|
||||
Name: github.String(name),
|
||||
TagName: github.String(tag),
|
||||
Body: github.String(body),
|
||||
Draft: github.Bool(draft),
|
||||
Prerelease: github.Bool(prerelease),
|
||||
TargetCommitish: github.String(targetCommitish),
|
||||
}
|
||||
|
||||
@@ -89,6 +91,7 @@ func (c *OutCommand) Run(sourceDir string, request OutRequest) (OutResponse, err
|
||||
existingRelease.Name = github.String(name)
|
||||
existingRelease.TargetCommitish = github.String(targetCommitish)
|
||||
existingRelease.Draft = github.Bool(draft)
|
||||
existingRelease.Prerelease = github.Bool(prerelease)
|
||||
|
||||
if bodySpecified {
|
||||
existingRelease.Body = github.String(body)
|
||||
|
@@ -8,6 +8,7 @@ type Source struct {
|
||||
GitHubUploadsURL string `json:"github_uploads_url"`
|
||||
AccessToken string `json:"access_token"`
|
||||
Drafts bool `json:"drafts"`
|
||||
PreRelease bool `json:"pre_release"`
|
||||
}
|
||||
|
||||
type CheckRequest struct {
|
||||
|
Reference in New Issue
Block a user