fix: a release group whose title names a live, remix or demo version is wanted only when the profile allows that version (M502 #5573)
release / govulncheck (push) Successful in 17s
release / web (push) Successful in 1m31s
release / go (push) Successful in 1m51s
release / android (push) Successful in 5m18s
release / integration (push) Successful in 5m23s
release / Build signed APK (releases and dev) (push) Successful in 5m30s
release / Attach APK to the Release (tag releases only) (push) Skipped
release / Build + push container image (push) Successful in 21s
release / Verify release artifacts (tag releases only) (push) Skipped

MusicBrainz types My Chemical Romance's "Common People (Recorded For BBC
Radio 1)" as a plain Single, so a studio-only follow wanted it. Passes now
reads the title's qualifier (brackets, or after a dash) for the version it
names and treats it as a secondary type; a version no type names, an
acoustic or instrumental one, no profile passes. The follow check takes off
the list an open follow want the rule now refuses. Judge counts bbc,
sessions and unplugged as live.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-10 18:39:35 -04:00
co-authored by Claude Opus 5.5
parent 7ef1fca90c
commit ca57133c8a
7 changed files with 188 additions and 17 deletions
+32
View File
@@ -0,0 +1,32 @@
package release
import "testing"
func TestVersionInTitle(t *testing.T) {
for title, want := range map[string]string{
// My Chemical Romance's groups MusicBrainz types as plain Singles (#5573).
"Common People (Recorded For BBC Radio 1)": "Live",
"Welcome to the Black Parade (Steve Aoki remix)": "Remix",
"The Five of Us Are Dying (Rough mix)": "Demo",
"I'm Not Okay (I Promise) [outtake version 2]": "Demo",
"Na Na Na (live from Sessions@AOL)": "Live",
"Song - Live at Wembley": "Live",
"Song – Club Mix": "Remix",
"Helena (Acoustic)": "",
"Teenagers (a cappella)": "",
"Hybrid Theory (20th Anniversary Edition)": "none",
"Live Through This": "none",
"Live Forever": "none",
"The Black Parade": "none",
"Warped Tour ’05: Bootleg Series (live at Warped Tour": "Live", // unclosed
} {
v, ok := VersionInTitle(title)
got := v.Typ
if !ok {
got = "none"
}
if got != want {
t.Errorf("VersionInTitle(%q) = %q (%q), want %q", title, got, v.Word, want)
}
}
}