mirror of
https://github.com/gohugoio/hugo.git
synced 2025-04-20 04:53:08 +00:00
releaser: Add a new step
When doing it step-by-step, we need to update the version numbers in its own step.
This commit is contained in:
parent
cdf32f08c7
commit
baa414ae41
2 changed files with 27 additions and 16 deletions
|
@ -31,7 +31,12 @@ import (
|
||||||
const commitPrefix = "releaser:"
|
const commitPrefix = "releaser:"
|
||||||
|
|
||||||
type ReleaseHandler struct {
|
type ReleaseHandler struct {
|
||||||
patch int
|
patch int
|
||||||
|
|
||||||
|
// If set, we do the relases in 3 steps:
|
||||||
|
// 1: Create and write a draft release notes
|
||||||
|
// 2: Prepare files for new version.
|
||||||
|
// 3: Release
|
||||||
step int
|
step int
|
||||||
skipPublish bool
|
skipPublish bool
|
||||||
}
|
}
|
||||||
|
@ -41,13 +46,17 @@ func (r ReleaseHandler) shouldRelease() bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r ReleaseHandler) shouldContinue() bool {
|
func (r ReleaseHandler) shouldContinue() bool {
|
||||||
return r.step == 2
|
return r.step == 3
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r ReleaseHandler) shouldPrepare() bool {
|
func (r ReleaseHandler) shouldPrepareReleasenotes() bool {
|
||||||
return r.step < 1 || r.step == 1
|
return r.step < 1 || r.step == 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r ReleaseHandler) shouldPrepareVersions() bool {
|
||||||
|
return r.step < 1 || r.step == 2
|
||||||
|
}
|
||||||
|
|
||||||
func (r ReleaseHandler) calculateVersions(current helpers.HugoVersion) (helpers.HugoVersion, helpers.HugoVersion) {
|
func (r ReleaseHandler) calculateVersions(current helpers.HugoVersion) (helpers.HugoVersion, helpers.HugoVersion) {
|
||||||
var (
|
var (
|
||||||
newVersion = current
|
newVersion = current
|
||||||
|
@ -111,14 +120,14 @@ func (r *ReleaseHandler) Run() error {
|
||||||
|
|
||||||
var gitCommits gitInfos
|
var gitCommits gitInfos
|
||||||
|
|
||||||
if r.shouldPrepare() || r.shouldRelease() {
|
if r.shouldPrepareReleasenotes() || r.shouldRelease() {
|
||||||
gitCommits, err = getGitInfos(changeLogFromTag, true)
|
gitCommits, err = getGitInfos(changeLogFromTag, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if r.shouldPrepare() {
|
if r.shouldPrepareReleasenotes() {
|
||||||
releaseNotesFile, err := writeReleaseNotesToDocsTemp(version, gitCommits)
|
releaseNotesFile, err := writeReleaseNotesToDocsTemp(version, gitCommits)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -132,19 +141,21 @@ func (r *ReleaseHandler) Run() error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if r.shouldPrepareVersions() {
|
||||||
|
if err := bumpVersions(newVersion); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err := git("commit", "-a", "-m", fmt.Sprintf("%s Bump versions for release of %s\n\n[ci skip]", commitPrefix, newVersion)); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if !r.shouldRelease() {
|
if !r.shouldRelease() {
|
||||||
fmt.Println("Skip release ... Use --state=2 to continue.")
|
fmt.Println("Skip release ... Use --state=3 to continue.")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := bumpVersions(newVersion); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if _, err := git("commit", "-a", "-m", fmt.Sprintf("%s Bump versions for release of %s\n\n[ci skip]", commitPrefix, newVersion)); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
releaseNotesFile := getRelaseNotesDocsTempFilename(version)
|
releaseNotesFile := getRelaseNotesDocsTempFilename(version)
|
||||||
|
|
||||||
// Write the release notes to the docs site as well.
|
// Write the release notes to the docs site as well.
|
||||||
|
|
|
@ -51,7 +51,7 @@ func TestCalculateVersions(t *testing.T) {
|
||||||
"0.21-DEV",
|
"0.21-DEV",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
New(0, 2, true),
|
New(0, 3, true),
|
||||||
startVersion,
|
startVersion,
|
||||||
"0.20",
|
"0.20",
|
||||||
"0.21-DEV",
|
"0.21-DEV",
|
||||||
|
@ -63,7 +63,7 @@ func TestCalculateVersions(t *testing.T) {
|
||||||
"0.20-DEV",
|
"0.20-DEV",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
New(3, 2, true),
|
New(3, 3, true),
|
||||||
startVersion.Next(),
|
startVersion.Next(),
|
||||||
"0.21",
|
"0.21",
|
||||||
"0.21-DEV",
|
"0.21-DEV",
|
||||||
|
|
Loading…
Add table
Reference in a new issue