Add functionality to support Release and Prerelease together
This commit is contained in:
16
README.md
16
README.md
@@ -23,16 +23,22 @@ Fetches and creates versioned GitHub resources.
|
||||
for uploading. If `github_api_url` is set, this value defaults to the same
|
||||
value, but if you have your own endpoint, this field will override it.
|
||||
|
||||
* `release`: *Optional. Default `true`.* When set to `true`, `put` produces
|
||||
release and `check` will detects releases. If `false`, `put` and `check` will ignore releases.
|
||||
Note that releases must have semver compliant tags to be detected.
|
||||
|
||||
* `pre_release`: *Optional. Default `false`.* When set to `true`, `put` produces
|
||||
pre-release and `check` detects prereleases. If `false`, only non-prerelease releases
|
||||
will be detected and published. Note that releases must have semver compliant
|
||||
tags to be detected.
|
||||
If `release` and `pre_release` are set to `true` `put` produces
|
||||
release and `check` will detects prereleases and releases.
|
||||
|
||||
* `drafts`: *Optional. Default `false`.* When set to `true`, `put` produces
|
||||
drafts and `check` only detects drafts. If `false`, only non-draft releases
|
||||
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,7 +35,11 @@ func (c *CheckCommand) Run(request CheckRequest) ([]Version, error) {
|
||||
if request.Source.Drafts != *release.Draft {
|
||||
continue
|
||||
}
|
||||
if request.Source.PreRelease != *release.Prerelease {
|
||||
|
||||
// Should we skip this release
|
||||
// a- prerelease condition dont match our source config
|
||||
// b- release condition match prerealse in github since github has true/false to describe release/prerelase
|
||||
if request.Source.PreRelease != *release.Prerelease && request.Source.Release == *release.Prerelease {
|
||||
continue
|
||||
}
|
||||
|
||||
|
@@ -8,7 +8,7 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
var request resource.CheckRequest
|
||||
request := resource.NewCheckRequest()
|
||||
inputRequest(&request)
|
||||
|
||||
github, err := resource.NewGitHubClient(request.Source)
|
||||
|
@@ -13,7 +13,7 @@ func main() {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
var request resource.OutRequest
|
||||
request := resource.NewCheckRequest()
|
||||
inputRequest(&request)
|
||||
|
||||
sourceDir := os.Args[1]
|
||||
|
@@ -58,7 +58,10 @@ func (c *OutCommand) Run(sourceDir string, request OutRequest) (OutResponse, err
|
||||
}
|
||||
|
||||
draft := request.Source.Drafts
|
||||
prerelease := request.Source.PreRelease
|
||||
prerelease := false
|
||||
if request.Source.PreRelease == true && request.Source.Release == false {
|
||||
prerelease = request.Source.PreRelease
|
||||
}
|
||||
|
||||
release := &github.RepositoryRelease{
|
||||
Name: github.String(name),
|
||||
|
@@ -9,6 +9,7 @@ type Source struct {
|
||||
AccessToken string `json:"access_token"`
|
||||
Drafts bool `json:"drafts"`
|
||||
PreRelease bool `json:"pre_release"`
|
||||
Release bool `json:"release"`
|
||||
}
|
||||
|
||||
type CheckRequest struct {
|
||||
@@ -16,6 +17,12 @@ type CheckRequest struct {
|
||||
Version Version `json:"version"`
|
||||
}
|
||||
|
||||
func NewCheckRequest() CheckRequest {
|
||||
res := CheckRequest{}
|
||||
res.Source.Release = true
|
||||
return res
|
||||
}
|
||||
|
||||
type InRequest struct {
|
||||
Source Source `json:"source"`
|
||||
Version *Version `json:"version"`
|
||||
|
Reference in New Issue
Block a user