Skip to content

Commit f7e5189

Browse files
feat: add prerelease switch to command
1 parent c50fe93 commit f7e5189

File tree

4 files changed

+7
-6
lines changed

4 files changed

+7
-6
lines changed

cmd/semantic-release/main.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ func main() {
5252
showVersion := flag.Bool("version", false, "outputs the semantic-release version")
5353
updateFile := flag.String("update", "", "updates the version of a certain file")
5454
gheHost := flag.String("ghe-host", os.Getenv("GITHUB_ENTERPRISE_HOST"), "github enterprise host")
55+
isPrerelease := flag.Bool("prerelease", false, "flags the release as a prerelease")
5556
flag.Parse()
5657

5758
if *showVersion {
@@ -136,7 +137,7 @@ func main() {
136137
}
137138

138139
logger.Println("creating release...")
139-
exitIfError(repo.CreateRelease(changelog, newVer, currentBranch, currentSha))
140+
exitIfError(repo.CreateRelease(changelog, newVer, *isPrerelease, currentBranch, currentSha))
140141

141142
if *ghr {
142143
exitIfError(ioutil.WriteFile(".ghr", []byte(fmt.Sprintf("-u %s -r %s v%s", repo.Owner, repo.Repo, newVer.String())), 0644))

release

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
set -e
44

5-
./semantic-release -ghr -vf -update ./npm-package/package.json
5+
./semantic-release -ghr -vf -prerelease -update ./npm-package/package.json
66
export VERSION=$(cat .version)
77

88
gox -parallel 4 -osarch="linux/amd64 darwin/amd64 linux/arm windows/amd64" -ldflags="-s -w -X main.SRVERSION=$VERSION" -output="bin/{{.Dir}}_v"$VERSION"_{{.OS}}_{{.Arch}}" ./cmd/semantic-release/

semrel.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,9 @@ func (repo *Repository) GetLatestRelease(vrange string) (*Release, error) {
189189
return &Release{lastRelease.SHA, &npver}, nil
190190
}
191191

192-
func (repo *Repository) CreateRelease(changelog string, newVersion *semver.Version, branch, sha string) error {
192+
func (repo *Repository) CreateRelease(changelog string, newVersion *semver.Version, prerelease bool, branch, sha string) error {
193193
tag := fmt.Sprintf("v%s", newVersion.String())
194-
hasPrerelease := newVersion.Prerelease() != ""
194+
isPrerelease := prerelease || newVersion.Prerelease() != ""
195195

196196
if branch != sha {
197197
ref := "refs/tags/" + tag
@@ -210,7 +210,7 @@ func (repo *Repository) CreateRelease(changelog string, newVersion *semver.Versi
210210
Name: &tag,
211211
TargetCommitish: &branch,
212212
Body: &changelog,
213-
Prerelease: &hasPrerelease,
213+
Prerelease: &isPrerelease,
214214
}
215215
_, _, err := repo.Client.Repositories.CreateRelease(repo.Ctx, repo.Owner, repo.Repo, opts)
216216
if err != nil {

semrel_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ func TestCreateRelease(t *testing.T) {
191191
repo, ts := getNewTestRepo(t)
192192
defer ts.Close()
193193
newVersion, _ := semver.NewVersion("2.0.0")
194-
err := repo.CreateRelease("", newVersion, "", "deadbeef")
194+
err := repo.CreateRelease("", newVersion, false, "", "deadbeef")
195195
if err != nil {
196196
t.Fatal(err)
197197
}

0 commit comments

Comments
 (0)