Commit 36f77996 authored by xuwang's avatar xuwang
Browse files

release: render changelog commit refs as compact markdown links



GitLab's changelog template emits each commit reference as a bare
"(namespace/project@<40-hex-sha>)" — long, hard to read, and only clickable
inside GitLab's own UI. Rewrite references in otica-changelog.sh into
"([<short-sha>](<server>/<project>/-/commit/<sha>))" so release notes are compact
and clickable everywhere (CHANGELOG.md, IDEs, the GitLab Release page).
Regenerate the existing CHANGELOG.md entries to match.

Changelog: changed
Co-Authored-By: default avatarClaude Opus 4.8 <noreply@anthropic.com>
parent 0e0467dd
Loading
Loading
Loading
Loading
+16 −16
Original line number Diff line number Diff line
@@ -13,35 +13,35 @@ This file is generated at release time from `Changelog:` git trailers (see

#### Added

- feat(agentic): add issue→fix→review→merge agent workflow (iac/cloud-framework@60923209900f86e493960fe214947b472616011f)
- feat(agentic): bot-token setup, tmux launcher, reviewer claim, issue-close (iac/cloud-framework@c0b4329d16662d74f09c169a75a6ab7528c841e3)
- feat(agentic): resolver picks up issues assigned to its bot (iac/cloud-framework@cc2229437e0e629444d719c560a2ad25e687b994)
- feat(gl-set-slack): configure the GitLab for Slack app (per-event channels) (iac/cloud-framework@724b81c47299b5608113ed9c7e695e54e8153c1f)
- feat(agentic): add issue→fix→review→merge agent workflow ([6092320](https://code.stanford.edu/iac/cloud-framework/-/commit/60923209900f86e493960fe214947b472616011f))
- feat(agentic): bot-token setup, tmux launcher, reviewer claim, issue-close ([c0b4329](https://code.stanford.edu/iac/cloud-framework/-/commit/c0b4329d16662d74f09c169a75a6ab7528c841e3))
- feat(agentic): resolver picks up issues assigned to its bot ([cc22294](https://code.stanford.edu/iac/cloud-framework/-/commit/cc2229437e0e629444d719c560a2ad25e687b994))
- feat(gl-set-slack): configure the GitLab for Slack app (per-event channels) ([724b81c](https://code.stanford.edu/iac/cloud-framework/-/commit/724b81c47299b5608113ed9c7e695e54e8153c1f))

#### Changed

- feat(agentic): start agents via `claude --bg`; run from a dedicated clone; docs (iac/cloud-framework@2b261789d9cab5a3734019a69149ab0c3cf10aae)
- feat(agentic): run multi-identity in `claude agents`; drop tmux launcher (iac/cloud-framework@80de94d8b5cda3af15e0cad8e9da228dfd6ecec8)
- feat(agentic): run loop workers under bypass + per-role deny guardrails (iac/cloud-framework@931f8bc87ae8afacac8d8d63eede4e729023ec32)
- feat(agentic): start agents via `claude --bg`; run from a dedicated clone; docs ([2b26178](https://code.stanford.edu/iac/cloud-framework/-/commit/2b261789d9cab5a3734019a69149ab0c3cf10aae))
- feat(agentic): run multi-identity in `claude agents`; drop tmux launcher ([80de94d](https://code.stanford.edu/iac/cloud-framework/-/commit/80de94d8b5cda3af15e0cad8e9da228dfd6ecec8))
- feat(agentic): run loop workers under bypass + per-role deny guardrails ([931f8bc](https://code.stanford.edu/iac/cloud-framework/-/commit/931f8bc87ae8afacac8d8d63eede4e729023ec32))

#### Fixed

- fix: preserve trailing newline in vault-read.sh output (iac/cloud-framework@09e2c5ed121afc87995adc2e1d3ed94e0a60d5d4)
- fix: warn when gl-set-slack targets legacy service on a Slack-app repo (iac/cloud-framework@11db71da5db55a19a8ac3c52bbb237d86fc24960)
- fix(agentic): make agents creates .agentic-logs and records loop launches (iac/cloud-framework@4bc7e872396761a4b430c1189aa452d112615f7e)
- fix(gl-flow): shift once for valueless issue-list flags (iac/cloud-framework@c7194fc792a22bea5e829dbb04124d484d3240f3)
- fix(skill): scope TrimSpace advice to Make-included vault reads (iac/cloud-framework@3aaee668a93aba29c17aa555cbec61e34a266ec2)
- fix(release): require local RELEASE_BRANCH in sync with remote (iac/cloud-framework@cb76b44b574da21164f7a5453a86a3d88f395f24)
- fix(release): compare HEAD to FETCH_HEAD, not the tracking ref (iac/cloud-framework@af2cec6d3388c0b3d40fe2904fb5ee804d2d5534)
- fix: preserve trailing newline in vault-read.sh output ([09e2c5e](https://code.stanford.edu/iac/cloud-framework/-/commit/09e2c5ed121afc87995adc2e1d3ed94e0a60d5d4))
- fix: warn when gl-set-slack targets legacy service on a Slack-app repo ([11db71d](https://code.stanford.edu/iac/cloud-framework/-/commit/11db71da5db55a19a8ac3c52bbb237d86fc24960))
- fix(agentic): make agents creates .agentic-logs and records loop launches ([4bc7e87](https://code.stanford.edu/iac/cloud-framework/-/commit/4bc7e872396761a4b430c1189aa452d112615f7e))
- fix(gl-flow): shift once for valueless issue-list flags ([c7194fc](https://code.stanford.edu/iac/cloud-framework/-/commit/c7194fc792a22bea5e829dbb04124d484d3240f3))
- fix(skill): scope TrimSpace advice to Make-included vault reads ([3aaee66](https://code.stanford.edu/iac/cloud-framework/-/commit/3aaee668a93aba29c17aa555cbec61e34a266ec2))
- fix(release): require local RELEASE_BRANCH in sync with remote ([cb76b44](https://code.stanford.edu/iac/cloud-framework/-/commit/cb76b44b574da21164f7a5453a86a3d88f395f24))
- fix(release): compare HEAD to FETCH_HEAD, not the tracking ref ([af2cec6](https://code.stanford.edu/iac/cloud-framework/-/commit/af2cec6d3388c0b3d40fe2904fb5ee804d2d5534))

## 1.0.1 (2026-06-11)

#### Other

- docs: add release badge and document mirror topology (iac/cloud-framework@d9ab0faa801260876dfc872740a95286526738ac)
- docs: add release badge and document mirror topology ([d9ab0fa](https://code.stanford.edu/iac/cloud-framework/-/commit/d9ab0faa801260876dfc872740a95286526738ac))

## 1.0.0 (2026-06-11)

#### Added

- Add release process, changelog, and version pinning (iac/cloud-framework@86958cb2769e6df063106f86dc82543237214c5c)
- Add release process, changelog, and version pinning ([86958cb](https://code.stanford.edu/iac/cloud-framework/-/commit/86958cb2769e6df063106f86dc82543237214c5c))
+22 −0
Original line number Diff line number Diff line
@@ -78,4 +78,26 @@ if [ -z "${notes}" ] || [ "${notes}" = "null" ]; then
    notes="- _No changelog entries for this release._"
fi

# Turn GitLab's bare commit references "(namespace/project@<40-hex-sha>)" into
# compact markdown links "([<short-sha>](<server>/namespace/project/-/commit/<sha>))".
# The template emits {{ commit.reference }} as the bare form, which GitLab only
# auto-links in its own UI; rewriting here makes the notes readable and clickable
# everywhere (CHANGELOG.md, IDEs, the Release page) and shortens the visible sha.
notes=$(echo "${notes}" | awk -v GLS="${GITLAB_SERVER}" '
function linkify(s,   out,pre,ref,path,sha,at,re) {
    re = "\\([A-Za-z0-9._/-]+@[0-9a-f]+\\)"
    out = ""
    while (match(s, re)) {
        pre  = substr(s, 1, RSTART-1)
        ref  = substr(s, RSTART+1, RLENGTH-2)   # strip surrounding ( )
        at   = index(ref, "@")
        path = substr(ref, 1, at-1)
        sha  = substr(ref, at+1)
        out  = out pre "([" substr(sha,1,7) "](" GLS "/" path "/-/commit/" sha "))"
        s    = substr(s, RSTART+RLENGTH)
    }
    return out s
}
{ print linkify($0) }')

echo "${notes}"