fix: no html escaping for changelog template

This commit is contained in:
jo 2025-09-25 11:19:10 +02:00
parent 612928a382
commit 79bad58f97
No known key found for this signature in database
GPG key ID: B2FEC9B22722B984
7 changed files with 37 additions and 24 deletions

View file

@ -3,9 +3,9 @@ package changelog
import ( import (
"bytes" "bytes"
_ "embed" _ "embed"
"html/template"
"log" "log"
"log/slog" "log/slog"
"text/template"
"github.com/apricote/releaser-pleaser/internal/commitparser" "github.com/apricote/releaser-pleaser/internal/commitparser"
"github.com/apricote/releaser-pleaser/internal/markdown" "github.com/apricote/releaser-pleaser/internal/markdown"

View file

@ -8,6 +8,7 @@ import (
"github.com/apricote/releaser-pleaser/internal/commitparser" "github.com/apricote/releaser-pleaser/internal/commitparser"
"github.com/apricote/releaser-pleaser/internal/git" "github.com/apricote/releaser-pleaser/internal/git"
"github.com/apricote/releaser-pleaser/internal/testdata"
) )
func ptr[T any](input T) *T { func ptr[T any](input T) *T {
@ -143,16 +144,9 @@ func Test_NewChangelogEntry(t *testing.T) {
}, },
version: "1.0.0", version: "1.0.0",
link: "https://example.com/1.0.0", link: "https://example.com/1.0.0",
prefix: "### Breaking Changes", prefix: testdata.MustReadFileString(t, "prefix.txt"),
}, },
want: `## [1.0.0](https://example.com/1.0.0) want: testdata.MustReadFileString(t, "changelog-entry-prefix.txt"),
### Breaking Changes
### Bug Fixes
- Foobar!
`,
wantErr: assert.NoError, wantErr: assert.NoError,
}, },
{ {
@ -167,18 +161,9 @@ func Test_NewChangelogEntry(t *testing.T) {
}, },
version: "1.0.0", version: "1.0.0",
link: "https://example.com/1.0.0", link: "https://example.com/1.0.0",
suffix: "### Compatibility\n\nThis version is compatible with flux-compensator v2.2 - v2.9.", suffix: testdata.MustReadFileString(t, "suffix.txt"),
}, },
want: `## [1.0.0](https://example.com/1.0.0) want: testdata.MustReadFileString(t, "changelog-entry-suffix.txt"),
### Bug Fixes
- Foobar!
### Compatibility
This version is compatible with flux-compensator v2.2 - v2.9.
`,
wantErr: assert.NoError, wantErr: assert.NoError,
}, },
} }

View file

@ -0,0 +1,19 @@
## [1.0.0](https://example.com/1.0.0)
## Foo
- Cool thing
```go
// Some code example
func IsPositive(number int) error {
if number < 0 {
return fmt.Errorf("number %d is negative", number)
}
return nil
}
```
### Bug Fixes
- Foobar!

View file

@ -0,0 +1,9 @@
## [1.0.0](https://example.com/1.0.0)
### Bug Fixes
- Foobar!
## Compatibility
This version is compatible with flux-compensator v2.2 - v2.9.

View file

@ -38,7 +38,7 @@ This will be added to the end of the release notes.
~~~~rp-suffix ~~~~rp-suffix
## Compatibility ## Compatibility
No compatibility guarantees. This version is compatible with flux-compensator v2.2 - v2.9.
~~~~ ~~~~
</details> </details>

View file

@ -25,7 +25,7 @@ This will be added to the end of the release notes.
~~~~rp-suffix ~~~~rp-suffix
## Compatibility ## Compatibility
No compatibility guarantees. This version is compatible with flux-compensator v2.2 - v2.9.
~~~~ ~~~~
</details> </details>

View file

@ -1,3 +1,3 @@
## Compatibility ## Compatibility
No compatibility guarantees. This version is compatible with flux-compensator v2.2 - v2.9.