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
|
will be detected and published. Note that releases must have semver compliant
|
||||||
tags to be detected, even if they're drafts.
|
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
|
### Example
|
||||||
|
|
||||||
``` yaml
|
``` yaml
|
||||||
|
@@ -35,6 +35,10 @@ func (c *CheckCommand) Run(request CheckRequest) ([]Version, error) {
|
|||||||
if request.Source.Drafts != *release.Draft {
|
if request.Source.Drafts != *release.Draft {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
if request.Source.PreRelease != *release.Prerelease {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if release.TagName == nil {
|
if release.TagName == nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -67,7 +71,7 @@ func (c *CheckCommand) Run(request CheckRequest) ([]Version, error) {
|
|||||||
|
|
||||||
for _, release := range filteredReleases {
|
for _, release := range filteredReleases {
|
||||||
if !upToLatest {
|
if !upToLatest {
|
||||||
if *release.Draft {
|
if *release.Draft || *release.Prerelease {
|
||||||
id := *release.ID
|
id := *release.ID
|
||||||
upToLatest = request.Version.ID == strconv.Itoa(id)
|
upToLatest = request.Version.ID == strconv.Itoa(id)
|
||||||
} else {
|
} else {
|
||||||
|
@@ -58,12 +58,14 @@ func (c *OutCommand) Run(sourceDir string, request OutRequest) (OutResponse, err
|
|||||||
}
|
}
|
||||||
|
|
||||||
draft := request.Source.Drafts
|
draft := request.Source.Drafts
|
||||||
|
prerelease := request.Source.PreRelease
|
||||||
|
|
||||||
release := &github.RepositoryRelease{
|
release := &github.RepositoryRelease{
|
||||||
Name: github.String(name),
|
Name: github.String(name),
|
||||||
TagName: github.String(tag),
|
TagName: github.String(tag),
|
||||||
Body: github.String(body),
|
Body: github.String(body),
|
||||||
Draft: github.Bool(draft),
|
Draft: github.Bool(draft),
|
||||||
|
Prerelease: github.Bool(prerelease),
|
||||||
TargetCommitish: github.String(targetCommitish),
|
TargetCommitish: github.String(targetCommitish),
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,6 +91,7 @@ func (c *OutCommand) Run(sourceDir string, request OutRequest) (OutResponse, err
|
|||||||
existingRelease.Name = github.String(name)
|
existingRelease.Name = github.String(name)
|
||||||
existingRelease.TargetCommitish = github.String(targetCommitish)
|
existingRelease.TargetCommitish = github.String(targetCommitish)
|
||||||
existingRelease.Draft = github.Bool(draft)
|
existingRelease.Draft = github.Bool(draft)
|
||||||
|
existingRelease.Prerelease = github.Bool(prerelease)
|
||||||
|
|
||||||
if bodySpecified {
|
if bodySpecified {
|
||||||
existingRelease.Body = github.String(body)
|
existingRelease.Body = github.String(body)
|
||||||
|
@@ -8,6 +8,7 @@ type Source struct {
|
|||||||
GitHubUploadsURL string `json:"github_uploads_url"`
|
GitHubUploadsURL string `json:"github_uploads_url"`
|
||||||
AccessToken string `json:"access_token"`
|
AccessToken string `json:"access_token"`
|
||||||
Drafts bool `json:"drafts"`
|
Drafts bool `json:"drafts"`
|
||||||
|
PreRelease bool `json:"pre_release"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type CheckRequest struct {
|
type CheckRequest struct {
|
||||||
|
Reference in New Issue
Block a user