From 29c9610d0fdff1d098cca92337e8417a5ac12e25 Mon Sep 17 00:00:00 2001 From: Mason Malone <651224+MasonM@users.noreply.github.com> Date: Tue, 16 Dec 2025 01:28:25 -0800 Subject: [PATCH 1/2] fix: upgrade expr to bring in bugfix. Fixes #15093 (#15168) (cherry picked from commit 4117a1ec14d34c8b0587f89b9f8a47e067fb1355) Signed-off-by: Mason Malone <651224+MasonM@users.noreply.github.com> Signed-off-by: Alan Clucas --- go.mod | 2 +- go.sum | 4 ++-- util/template/replace_test.go | 7 ++++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index efb37cea7613..f64181420f83 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/coreos/go-oidc/v3 v3.9.0 github.com/doublerebel/bellows v0.0.0-20160303004610-f177d92a03d3 github.com/evanphx/json-patch v5.8.0+incompatible - github.com/expr-lang/expr v1.17.0 + github.com/expr-lang/expr v1.17.7 github.com/gavv/httpexpect/v2 v2.16.0 github.com/go-git/go-git/v5 v5.14.0 github.com/go-jose/go-jose/v3 v3.0.4 diff --git a/go.sum b/go.sum index ccd95abe2914..81c07f275796 100644 --- a/go.sum +++ b/go.sum @@ -249,8 +249,8 @@ github.com/evilmonkeyinc/jsonpath v0.8.1 h1:W8K4t8u7aipkQE0hcTICGAdAN0Xph349Ltjg github.com/evilmonkeyinc/jsonpath v0.8.1/go.mod h1:EQhs0ZsoD4uD56ZJbO30gMTfHLQ6DEa0/5rT5Ymy42s= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2Wvf/TIe2xdyJxTlb6obmF18d8QdkxNDu4= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= -github.com/expr-lang/expr v1.17.0 h1:+vpszOyzKLQXC9VF+wA8cVA0tlA984/Wabc/1hF9Whg= -github.com/expr-lang/expr v1.17.0/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= +github.com/expr-lang/expr v1.17.7 h1:Q0xY/e/2aCIp8g9s/LGvMDCC5PxYlvHgDZRQ4y16JX8= +github.com/expr-lang/expr v1.17.7/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= diff --git a/util/template/replace_test.go b/util/template/replace_test.go index 1f0ffddd7235..0d8bc6675fa2 100644 --- a/util/template/replace_test.go +++ b/util/template/replace_test.go @@ -29,7 +29,7 @@ func Test_Replace(t *testing.T) { _, err := Replace(toJsonString("{{foo}}"), nil, true) require.NoError(t, err) }) - t.Run("Disallowed", func(t *testing.T) { + t.Run("Disallowed", func(t *tes46ting.T) { _, err := Replace(toJsonString("{{foo}}"), nil, false) require.EqualError(t, err, "failed to resolve {{foo}}") }) @@ -41,6 +41,11 @@ func Test_Replace(t *testing.T) { require.NoError(t, err) assert.Equal(t, toJsonString("bar"), r) }) + t.Run("Valid With Variadic Sprig Expression", func(t *testing.T) { + r, err := Replace(toJsonString("{{=sprig.dig('status', nil, workflow)}}"), map[string]string{"workflow.status": "Succeeded"}, false) + require.NoError(t, err) + assert.Equal(t, toJSONString("Succeeded"), r) + }) t.Run("Valid WorkflowStatus", func(t *testing.T) { replaced, err := Replace(toJsonString(`{{=workflow.status == "Succeeded" ? "SUCCESSFUL" : "FAILED"}}`), map[string]string{"workflow.status": "Succeeded"}, false) require.NoError(t, err) From 49c361284807bd4015f6ce7f6a442e8ce7e2c810 Mon Sep 17 00:00:00 2001 From: Alan Clucas Date: Tue, 16 Dec 2025 16:57:35 +0000 Subject: [PATCH 2/2] Fix test function name and update assertions Signed-off-by: Alan Clucas --- util/template/replace_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/util/template/replace_test.go b/util/template/replace_test.go index 0d8bc6675fa2..c8dfe338e80a 100644 --- a/util/template/replace_test.go +++ b/util/template/replace_test.go @@ -29,7 +29,7 @@ func Test_Replace(t *testing.T) { _, err := Replace(toJsonString("{{foo}}"), nil, true) require.NoError(t, err) }) - t.Run("Disallowed", func(t *tes46ting.T) { + t.Run("Disallowed", func(t *testing.T) { _, err := Replace(toJsonString("{{foo}}"), nil, false) require.EqualError(t, err, "failed to resolve {{foo}}") }) @@ -44,7 +44,7 @@ func Test_Replace(t *testing.T) { t.Run("Valid With Variadic Sprig Expression", func(t *testing.T) { r, err := Replace(toJsonString("{{=sprig.dig('status', nil, workflow)}}"), map[string]string{"workflow.status": "Succeeded"}, false) require.NoError(t, err) - assert.Equal(t, toJSONString("Succeeded"), r) + assert.Equal(t, toJsonString("Succeeded"), r) }) t.Run("Valid WorkflowStatus", func(t *testing.T) { replaced, err := Replace(toJsonString(`{{=workflow.status == "Succeeded" ? "SUCCESSFUL" : "FAILED"}}`), map[string]string{"workflow.status": "Succeeded"}, false)