feat(changelog): adopt changelog-action with EN/ES/ZH changelogs #56
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/changelog-action"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds the shared
brooktrails/changelog-action(pinned@v1) to gllm's release pipeline and configures three parallel changelogs: English, Spanish, and Mandarin Chinese. gllm releases several times a day and had no changelog at all; from the next release on, each one is summarized and committed back automatically.Changes
.forgejo/workflows/build-push.yaml— newuses:step after Push git tag, with a 3-languagetargets:list. Each target gets its own summary in its own language, all committed together with[skip ci]; a changelog failure only warns, never fails the release..changelog.env(new) — gllm's product identity, the single source of truth the action reads to build the prompt.CHANGELOG.md,CHANGELOG.es.md,CHANGELOG.zh.md(new) — full structure for all 42 existing versions: header + one section per version + compare-link block.Backfill in progress
This PR ships every entry as a
STUB: N bytes of changes.placeholder so the structure (and CI splicing) works immediately. I'm backfilling the stubs into real, per-language summaries against the inference service in the background — 42 versions × 3 languages — and will push the filled prose onto this branch as it completes (the tooling only ever rewrites stubs, so it's re-runnable and won't touch anything already filled). Best reviewed once backfill finishes; I'll comment when it's done.Notes
brooktrails/changelog-action@v1(already published; same action slp and bliis use).[0.28.2].🤖 Generated with Claude Code
Automated review by pr-reviewer v0.39.0 | Safety Check | Claude Sonnet 5 | tracking id
r-62ae6c-9a51b5This is an AI-generated review and may contain mistakes.
Status: ✅ Completed
✅ Verdict: LGTM — The "secret detected" flag is a false positive from standard
${{ secrets.FORGEJO_TOKEN }}Actions syntax, not an actual leaked credential; the rest of the diff is new changelog scaffolding and a benign CI step with safe failure handling.Reviewed the diff carefully, focusing on the flagged automated observation ("possible secret or credential detected").
token: ${{ secrets.FORGEJO_TOKEN }}andinference-url: ${{ vars.INFERENCE_URL }}— these are standard Forgejo/GitHub Actions secret/variable references, not literal exposed credentials. This is almost certainly what tripped the automated secret scanner (the string "secrets." / "token:"), but it's the normal, safe pattern for consuming secrets in CI, not a leak.@v1from a private/internal registry (git.brooktrails.org/brooktrails/changelog-action@v1), consistent with other repos per the PR description..env-style config file with product description strings, no actual secrets or keys in.changelog.env.Nothing here indicates an actual leaked secret, credential, or dangerous logic change. The flagged pattern is a false positive from referencing
secrets.FORGEJO_TOKENvia standard Action syntax.79b4f6ce549e5a09267eAutomated review by pr-reviewer v0.41.0 | Safety Check | Claude Sonnet 5 | tracking id
r-6485aa-e9f289This is an AI-generated review and may contain mistakes.
Status: ✅ Completed
✅ Verdict: LGTM — No real secrets or breaking changes present; the flagged "secret" is just a normal secrets.FORGEJO_TOKEN reference, and the rest is additive stub/config content.
Reviewed the diff carefully. The automated "possible secret" flag is a false positive: the workflow only references
secrets.FORGEJO_TOKENandvars.INFERENCE_URLvia standard Forgejo Actions expression syntax — no literal credentials are embedded. This is the normal, correct way to pass secrets into a CI step.The rest of the change is low-risk:
.changelog.envcontains only non-sensitive product metadata (name, description, model name).@v1; failure is explicitly designed to only warn (not fail the release), per the inline comments, so it shouldn't break the release pipeline.Nothing here looks like an accidentally committed credential, obvious logic bug, or breaking change.
Automated review by pr-reviewer v0.41.0 | Safety Check | Claude Sonnet 5 | tracking id
r-65c2f6-3dead2This is an AI-generated review and may contain mistakes.
Status: ✅ Completed
✅ Verdict: LGTM — The automated flags (secret pattern, high entropy, large new files) are all false positives — they correspond to normal secrets-context syntax, CJK text entropy, and legitimate generated changelog content respectively; no real issue found.
Reviewed the diff:
secrets.FORGEJO_TOKENandvars.INFERENCE_URLvia standard Forgejo Actions expression syntax — these are secret/variable references, not literal exposed credentials. This is the normal, safe way to pass secrets into an action; the "possible secret detected" flag is a false positive from the automated scanner picking up the word "token"/"secret" in context..changelog.envcontains only non-sensitive product metadata (name, description, model name) — no keys or credentials.continue-on-error-style ("a changelog failure only warns, never fails the release" per description, though I'd note the workflow snippet shown doesn't include an explicitcontinue-on-error: true— worth double-checking that behavior is actually enforced in the action/workflow, but not something to block on since the action is external and described as swallowing errors itself).Nothing here looks like it shouldn't have been pushed — the automated flags are explainable as false positives (secret-reference syntax, CJK entropy, and expected new large text files for a changelog backfill).
Automated review by pr-reviewer v0.41.0 | Safety Check | Claude Sonnet 5 | tracking id
r-65c76f-04e01fThis is an AI-generated review and may contain mistakes.
Status: ✅ Completed
✅ Verdict: LGTM — No real secrets, binaries, or logic bugs found; the automated flags (secret reference, high entropy in Chinese text) are false positives.
Reviewed the diff:
token: ${{ secrets.FORGEJO_TOKEN }}, a standard reference to a secret stored in Forgejo's secrets store, not a hardcoded credential. No literal secret value is present in the diff.Everything here matches the PR's stated intent and the automated flags are explainable false positives.