feat(build): fuzz testing and git-cliff changelog automation
Add FuzzParseBytes and FuzzSanitizeYAMLEscapes in internal/model/fuzz_test.go. Both targets run as regular seed-based tests in CI (go test ./...) and can be run continuously via `task fuzz` (default 30 s per target; FUZZ_TIME=60s to extend). Fuzz corpus failures are saved to testdata/fuzz/ for regression. Add cliff.toml configuring git-cliff to generate Keep-a-Changelog-compatible release notes from Conventional Commits. New tasks: `task changelog` (regenerate full CHANGELOG.md) and `task changelog-next` (preview unreleased entries without writing). Requires git-cliff (brew/cargo install git-cliff). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+2
-2
@@ -119,5 +119,5 @@ The SVG renderer and terminal tree cover the basic layout. These would bring it
|
||||
- ~~**`glint explain <rule-id>`**~~ — ✓ shipped v0.2.20; prints rule description, rationale, bad-YAML example, and fix; `glint explain` (no arg) lists all rules
|
||||
- ~~**Semantic versioning and first release**~~ — shipped as `v0.1.0` (2026-06-07)
|
||||
- ~~**Subcommand CLI**~~ — shipped as `v0.2.0` (2026-06-11); `glint check` / `glint graph [mode]` with ruff-style `--help`
|
||||
- **Changelog automation** — generate release notes from Conventional Commits via `git-cliff` or similar
|
||||
- **Fuzz testing** — add a `go test -fuzz` target for the YAML parser to harden it against malformed input
|
||||
- ~~**Changelog automation**~~ — ✓ shipped v0.2.27; `cliff.toml` configures git-cliff to produce Keep-a-Changelog–compatible release notes from Conventional Commits; `task changelog` regenerates `CHANGELOG.md`, `task changelog-next` previews unreleased entries
|
||||
- ~~**Fuzz testing**~~ — ✓ shipped v0.2.27; `FuzzParseBytes` and `FuzzSanitizeYAMLEscapes` in `internal/model/fuzz_test.go`; seeds run as regular tests in CI; `task fuzz` runs them continuously (default 30 s)
|
||||
|
||||
Reference in New Issue
Block a user