From 8f4496bcfaac4a5f6b28c4ff07c18e7765eb6824 Mon Sep 17 00:00:00 2001 From: Bolek Kulbabinski <1416262+bolekk@users.noreply.github.com> Date: Wed, 7 Oct 2026 09:47:38 -0700 Subject: [PATCH] Remove deprecated EncodeExecutionID It has been fully replaced by GenerateExecutionIDWithTriggerIndex across callers; add test coverage for the replacement. Co-Authored-By: Claude Sonnet 5 --- pkg/workflows/utils.go | 16 ---------------- pkg/workflows/utils_test.go | 30 +++++++++++++++++++----------- 2 files changed, 19 insertions(+), 27 deletions(-) diff --git a/pkg/workflows/utils.go b/pkg/workflows/utils.go index 086ef0e94c..0943d71889 100644 --- a/pkg/workflows/utils.go +++ b/pkg/workflows/utils.go @@ -11,22 +11,6 @@ import ( "golang.org/x/crypto/sha3" ) -// Deprecated: Use GenerateExecutionIDWithTriggerIndex instead. -func EncodeExecutionID(workflowID, eventID string) (string, error) { - s := sha256.New() - _, err := s.Write([]byte(workflowID)) - if err != nil { - return "", err - } - - _, err = s.Write([]byte(eventID)) - if err != nil { - return "", err - } - - return hex.EncodeToString(s.Sum(nil)), nil -} - func GenerateExecutionIDWithTriggerIndex(workflowID, triggerEventID string, triggerIndex int) (string, error) { s := sha256.New() _, err := s.Write([]byte(workflowID)) diff --git a/pkg/workflows/utils_test.go b/pkg/workflows/utils_test.go index 284b6e6638..dfda4ea276 100644 --- a/pkg/workflows/utils_test.go +++ b/pkg/workflows/utils_test.go @@ -11,34 +11,42 @@ import ( "github.com/stretchr/testify/require" ) -func Test_EncodeExecutionID(t *testing.T) { +func Test_GenerateExecutionIDWithTriggerIndex(t *testing.T) { var ( - workflowID = "workflowID" - eventID = "eventID" - s = sha256.New() + workflowID = "workflowID" + triggerEventID = "eventID" + triggerIndex = 3 + s = sha256.New() ) _, err := s.Write([]byte(workflowID)) assert.NoError(t, err) - _, err = s.Write([]byte(eventID)) + _, err = s.Write([]byte(triggerEventID)) + assert.NoError(t, err) + + _, err = s.Write([]byte("3")) assert.NoError(t, err) expected := hex.EncodeToString(s.Sum(nil)) - actual, err := EncodeExecutionID(workflowID, eventID) + actual, err := GenerateExecutionIDWithTriggerIndex(workflowID, triggerEventID, triggerIndex) assert.NoError(t, err) assert.Equal(t, expected, actual) - // Test ordering - s.Reset() - _, err = s.Write([]byte(eventID)) + // Deterministic across repeated calls + again, err := GenerateExecutionIDWithTriggerIndex(workflowID, triggerEventID, triggerIndex) assert.NoError(t, err) + assert.Equal(t, actual, again) - _, err = s.Write([]byte(workflowID)) + // Different trigger index yields a different ID + otherIndex, err := GenerateExecutionIDWithTriggerIndex(workflowID, triggerEventID, triggerIndex+1) assert.NoError(t, err) + assert.NotEqual(t, actual, otherIndex) - reversed := hex.EncodeToString(s.Sum(nil)) + // Test ordering; workflowID/eventID aren't interchangeable + reversed, err := GenerateExecutionIDWithTriggerIndex(triggerEventID, workflowID, triggerIndex) + assert.NoError(t, err) assert.NotEqual(t, reversed, actual) }