build-release-notes: ban unprefixed issue numbers

This is necessary to cleanly and unambiguously transition to using
forgejo issues, since we now control our own destiny.

If we ban unprefixed numbers for a couple of releases, we ensure there
are no releases in active support with the wrong unprefixed number
semantics that could receive backports.

Change-Id: I1c94541dcb3f071399f439870b48cd76557b70d2
This commit is contained in:
Jade Lovelace
2025-02-27 10:49:16 -08:00
parent 03ade5e6d7
commit 6bc008900a
4 changed files with 10 additions and 4 deletions
@@ -1,6 +1,6 @@
---
synopsis: Avoid unnecessarily killing processes for the build user's UID
issues: [9142, fj#667]
issues: [nix#9142, fj#667]
cls: []
category: Fixes
credits: [teofilc]
@@ -1,6 +1,6 @@
---
synopsis: fix usage of `builtins.filterSource` and `builtins.path` with the filter argument when using chroot stores
issues: [11503]
issues: [nix#11503]
credits: [lily, alois31, horrors]
category: Fixes
---
@@ -1,6 +1,6 @@
---
synopsis: '`nix-instantiate --parse` outputs json'
issues: [fj#487, 11124, 4726, 3077]
issues: [fj#487, nix#11124, nix#4726, nix#3077]
cls: [2190]
category: Breaking Changes
credits: [piegames, horrors]
+7 -1
View File
@@ -70,11 +70,17 @@ class AuthorInfoDB:
def format_link(ident: str, gh_part: str, fj_part: str) -> str:
# FIXME: deprecate github as default
if ident.isdigit():
num, link, base = int(ident), f"#{ident}", f"{GH_REPO_BASE}/{gh_part}"
raise ValueError('Unprefixed issue numbers are disallowed until the Lix 2.95 cycle, when they will become Forgejo references instead of their previous state of CppNix GitHub issues.'
'\nIf you mean a Lix Forgejo reference, prefix with fj# or lix#'
'\nIf you mean a CppNix issue, prefix the number with gh# or nix#')
elif ident.startswith("gh#"):
num, link, base = int(ident[3:]), ident, f"{GH_REPO_BASE}/{gh_part}"
elif ident.startswith("nix#"):
num, link, base = int(ident[4:]), ident, f"{GH_REPO_BASE}/{gh_part}"
elif ident.startswith("fj#"):
num, link, base = int(ident[3:]), ident, f"{FORGEJO_REPO_BASE}/{fj_part}"
elif ident.startswith("lix#"):
num, link, base = int(ident[4:]), ident, f"{FORGEJO_REPO_BASE}/{fj_part}"
else:
raise Exception("unrecognized reference format", ident)
return f"[{link}]({base}/{num})"