mirror of
https://github.com/lunchcat/sif.git
synced 2026-06-12 19:11:25 -07:00
5e10c1857b
- `sif patchnote` (also `-pn`) fetches the latest github release and renders its notes with glamour - on the first run of a new version those notes are shown once, then recorded so they dont show again - best-effort, so dev builds, the SIF_NO_PATCHNOTES opt-out, and any network failure stay quiet - wire up `var version` so the release `-X main.version` ldflag actually lands, and add `sif version`
43 lines
1.8 KiB
Go
43 lines
1.8 KiB
Go
/*
|
|
·━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━·
|
|
: :
|
|
: █▀ █ █▀▀ · Blazing-fast pentesting suite :
|
|
: ▄█ █ █▀ · BSD 3-Clause License :
|
|
: :
|
|
: (c) 2022-2026 vmfunc, xyzeva, :
|
|
: lunchcat alumni & contributors :
|
|
: :
|
|
·━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━·
|
|
*/
|
|
|
|
package patchnotes
|
|
|
|
import (
|
|
"path/filepath"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestSeenRoundTrip(t *testing.T) {
|
|
path := filepath.Join(t.TempDir(), "sif", "seen_version")
|
|
|
|
if hasSeen(path, "2026.6.7") {
|
|
t.Fatal("nothing recorded yet, hasSeen should be false")
|
|
}
|
|
|
|
recordSeen(path, "2026.6.7")
|
|
if !hasSeen(path, "2026.6.7") {
|
|
t.Error("recorded version should read back as seen")
|
|
}
|
|
if hasSeen(path, "2026.6.8") {
|
|
t.Error("a different version should not be seen")
|
|
}
|
|
}
|
|
|
|
func TestRenderIncludesTag(t *testing.T) {
|
|
out := render(&release{TagName: "v2026.6.7", Body: "## what's changed\n- a thing"})
|
|
if !strings.Contains(out, "v2026.6.7") {
|
|
t.Errorf("rendered notes should include the tag, got %q", out)
|
|
}
|
|
}
|