1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-11-06 09:09:29 +02:00

feat: Added new flags to support release notes header and footer. (#1212)

* Added new flags to support release notes header and footer.

Created two flags for release generation.
--release-footer
--release-header
These flags can help you to add custom changelog text before/after changes that are generated by git log.

* Fix changelog.go to avoid lint errors

* Fix test typo

* Added tests for main, fixed bug with no passing options to release ctx

* Add @caarlos0  suggestions
This commit is contained in:
Ivan Novikov
2019-11-15 13:22:11 +00:00
committed by Carlos Alexandro Becker
parent fdfe0487df
commit 16cb4d8277
7 changed files with 186 additions and 39 deletions

View File

@@ -11,7 +11,7 @@ import (
"github.com/goreleaser/goreleaser/pkg/config"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
yaml "gopkg.in/yaml.v2"
"gopkg.in/yaml.v2"
)
func init() {
@@ -107,6 +107,50 @@ func TestCustomReleaseNotesFile(t *testing.T) {
assert.NoError(t, releaseProject(params))
}
func TestCustomReleaseHeaderFileDontExist(t *testing.T) {
_, back := setup(t)
defer back()
params := testParams()
params.ReleaseHeader = "/header/that/dont/exist"
params.Snapshot = false
assert.Error(t, releaseProject(params))
}
func TestCustomReleaseHeaderFile(t *testing.T) {
_, back := setup(t)
defer back()
releaseHeader, err := ioutil.TempFile("", "")
assert.NoError(t, err)
createFile(t, releaseHeader.Name(), "some release header")
params := testParams()
params.ReleaseHeader = releaseHeader.Name()
params.Snapshot = false
params.SkipPublish = true
assert.NoError(t, releaseProject(params))
}
func TestCustomReleaseFooterFileDontExist(t *testing.T) {
_, back := setup(t)
defer back()
params := testParams()
params.ReleaseFooter = "/footer/that/dont/exist"
params.Snapshot = false
assert.Error(t, releaseProject(params))
}
func TestCustomReleaseFooterFile(t *testing.T) {
_, back := setup(t)
defer back()
releaseFooter, err := ioutil.TempFile("", "")
assert.NoError(t, err)
createFile(t, releaseFooter.Name(), "some release footer")
params := testParams()
params.ReleaseFooter = releaseFooter.Name()
params.Snapshot = false
params.SkipPublish = true
assert.NoError(t, releaseProject(params))
}
func TestBrokenPipe(t *testing.T) {
_, back := setup(t)
defer back()