1
1
Fork 0
mirror of https://github.com/goreleaser/nfpm synced 2024-04-27 16:55:16 +02:00

feat: expand environment variables in maintainer (#463)

This commit is contained in:
Ville Skyttä 2022-03-18 05:07:12 +02:00 committed by GitHub
parent 38d54695f1
commit 97486f15f8
Signed by: GitHub
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 9 deletions

View File

@ -159,7 +159,8 @@ func (c *Config) expandEnvVars() {
} }
} }
// Vendor field // Maintainer and vendor fields
c.Info.Maintainer = os.Expand(c.Info.Maintainer, c.envMappingFunc)
c.Info.Vendor = os.Expand(c.Info.Vendor, c.envMappingFunc) c.Info.Vendor = os.Expand(c.Info.Vendor, c.envMappingFunc)
// Package signing related fields // Package signing related fields

View File

@ -237,14 +237,15 @@ func TestParseEnhancedNestedNoGlob(t *testing.T) {
func TestOptionsFromEnvironment(t *testing.T) { func TestOptionsFromEnvironment(t *testing.T) {
const ( const (
globalPass = "hunter2" globalPass = "hunter2"
debPass = "password123" debPass = "password123"
rpmPass = "secret" rpmPass = "secret"
apkPass = "foobar" apkPass = "foobar"
release = "3" release = "3"
version = "1.0.0" version = "1.0.0"
vendor = "GoReleaser" vendor = "GoReleaser"
packager = "nope" packager = "nope"
maintainerEmail = "nope@example.com"
) )
t.Run("version", func(t *testing.T) { t.Run("version", func(t *testing.T) {
@ -263,6 +264,15 @@ func TestOptionsFromEnvironment(t *testing.T) {
require.Equal(t, release, info.Release) require.Equal(t, release, info.Release)
}) })
t.Run("maintainer", func(t *testing.T) {
os.Clearenv()
os.Setenv("GIT_COMMITTER_NAME", packager)
os.Setenv("GIT_COMMITTER_EMAIL", maintainerEmail)
info, err := nfpm.Parse(strings.NewReader("name: foo\nmaintainer: $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL>"))
require.NoError(t, err)
require.Equal(t, fmt.Sprintf("%s <%s>", packager, maintainerEmail), info.Maintainer)
})
t.Run("vendor", func(t *testing.T) { t.Run("vendor", func(t *testing.T) {
os.Clearenv() os.Clearenv()
os.Setenv("VENDOR", vendor) os.Setenv("VENDOR", vendor)

View File

@ -55,6 +55,7 @@ section: default
priority: extra priority: extra
# Maintainer. # Maintainer.
# This will expand any env var you set in the field, eg maintainer: ${GIT_COMMITTER_NAME} <${GIT_COMMITTER_EMAIL}>
# Defaults to empty on rpm and apk # Defaults to empty on rpm and apk
# Leaving the 'maintainer' field unset will not be allowed in a future version # Leaving the 'maintainer' field unset will not be allowed in a future version
maintainer: Carlos Alexandro Becker <root@carlosbecker.com> maintainer: Carlos Alexandro Becker <root@carlosbecker.com>