mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-02-03 13:11:48 +02:00
fix: ensure aur key has eof newline
This commit is contained in:
parent
c0779dbd30
commit
788a4394e1
@ -361,7 +361,7 @@ func doPublish(ctx *context.Context, pkgs []*artifact.Artifact) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
key, err = keyPath(strings.TrimSpace(key))
|
key, err = keyPath(key)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -454,6 +454,13 @@ func keyPath(key string) (string, error) {
|
|||||||
return "", fmt.Errorf("failed to store private key: %w", err)
|
return "", fmt.Errorf("failed to store private key: %w", err)
|
||||||
}
|
}
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
|
|
||||||
|
// the key needs to EOF at an empty line, seems like github actions
|
||||||
|
// is somehow removing them.
|
||||||
|
if !strings.HasSuffix(key, "\n") {
|
||||||
|
key += "\n"
|
||||||
|
}
|
||||||
|
|
||||||
if _, err := f.Write([]byte(key)); err != nil {
|
if _, err := f.Write([]byte(key)); err != nil {
|
||||||
return "", fmt.Errorf("failed to store private key: %w", err)
|
return "", fmt.Errorf("failed to store private key: %w", err)
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/charmbracelet/keygen"
|
"github.com/charmbracelet/keygen"
|
||||||
@ -734,6 +735,18 @@ func TestKeyPath(t *testing.T) {
|
|||||||
require.EqualError(t, err, `aur.private_key is empty`)
|
require.EqualError(t, err, `aur.private_key is empty`)
|
||||||
require.Equal(t, "", result)
|
require.Equal(t, "", result)
|
||||||
})
|
})
|
||||||
|
t.Run("with invalid EOF", func(t *testing.T) {
|
||||||
|
path := makeKey(t, keygen.Ed25519)
|
||||||
|
bts, err := os.ReadFile(path)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
result, err := keyPath(strings.TrimSpace(string(bts)))
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
resultbts, err := os.ReadFile(result)
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, string(bts), string(resultbts))
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func makeBareRepo(tb testing.TB) string {
|
func makeBareRepo(tb testing.TB) string {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user