Skip to content

Commit c6d508a

Browse files
ericapisaniclaude
andcommitted
fix: Use HEROKU_BUILD_COMMIT with HEROKU_SLUG_COMMIT as fallback
Heroku deprecated HEROKU_SLUG_COMMIT in favor of HEROKU_BUILD_COMMIT. Update the default release detection to check HEROKU_BUILD_COMMIT first, keeping HEROKU_SLUG_COMMIT as a fallback for backwards compatibility with older Heroku stacks. Fixes GH-1218 Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 4229558 commit c6d508a

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

util.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ func defaultRelease() (release string) {
4141
// Return first non-empty environment variable known to hold release info, if any.
4242
envs := []string{
4343
"SENTRY_RELEASE",
44-
"HEROKU_SLUG_COMMIT",
44+
"HEROKU_BUILD_COMMIT",
45+
"HEROKU_SLUG_COMMIT", // Deprecated, kept for backwards compatibility
4546
"SOURCE_VERSION",
4647
"CODEBUILD_RESOLVED_SOURCE_VERSION",
4748
"CIRCLE_SHA1",

util_test.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,20 @@ func TestDefaultReleaseSentryReleaseEnvvar(t *testing.T) {
3636
assertEqual(t, defaultRelease(), releaseVersion)
3737
}
3838

39+
func TestDefaultReleaseHerokuBuildCommitEnvvar(t *testing.T) {
40+
releaseVersion := "abc123"
41+
t.Setenv("HEROKU_BUILD_COMMIT", releaseVersion)
42+
43+
assertEqual(t, defaultRelease(), releaseVersion)
44+
}
45+
46+
func TestDefaultReleaseHerokuBuildCommitPrecedenceOverSlugCommit(t *testing.T) {
47+
t.Setenv("HEROKU_SLUG_COMMIT", "old-slug-value")
48+
t.Setenv("HEROKU_BUILD_COMMIT", "new-build-value")
49+
50+
assertEqual(t, defaultRelease(), "new-build-value")
51+
}
52+
3953
func TestDefaultReleaseSentryReleaseEnvvarPrecedence(t *testing.T) {
4054
releaseVersion := "1.2.3"
4155
t.Setenv("SOURCE_VERSION", "3.2.1")

0 commit comments

Comments
 (0)