From 7ec7230faf3d8f0bd52041bf1f66fa82387fb605 Mon Sep 17 00:00:00 2001 From: sergeyb Date: Wed, 2 Sep 2026 01:13:47 +0000 Subject: [PATCH] fix(gateway): support promote land strategy Summary: Support the PROMOTE strategy in the gateway land request mapper while preserving the existing DEFAULT-to-rebase behavior. Intent: - Handle every explicit merge strategy exposed by the shared API contract. - Keep the current default strategy behavior until queue configuration resolves it. Changes: - Map PROMOTE to MergeStrategyPromote. - Add mapper coverage for PROMOTE. Test Plan: - ./tool/bazel test //service/submitqueue/gateway/server/mapper:go_default_test --test_output=errors Revert Plan: - Revert this commit. Issues: - None. --- service/submitqueue/gateway/server/mapper/land.go | 2 ++ service/submitqueue/gateway/server/mapper/land_test.go | 1 + 2 files changed, 3 insertions(+) diff --git a/service/submitqueue/gateway/server/mapper/land.go b/service/submitqueue/gateway/server/mapper/land.go index 632649569..8c77d56fb 100644 --- a/service/submitqueue/gateway/server/mapper/land.go +++ b/service/submitqueue/gateway/server/mapper/land.go @@ -59,6 +59,8 @@ func resolveMergeStrategy(s mergestrategypb.Strategy) (mergestrategy.MergeStrate return mergestrategy.MergeStrategySquashRebase, nil case mergestrategypb.Strategy_MERGE: return mergestrategy.MergeStrategyMerge, nil + case mergestrategypb.Strategy_PROMOTE: + return mergestrategy.MergeStrategyPromote, nil default: return mergestrategy.MergeStrategyUnknown, fmt.Errorf("%w: %v", errUnknownStrategy, s) } diff --git a/service/submitqueue/gateway/server/mapper/land_test.go b/service/submitqueue/gateway/server/mapper/land_test.go index 72cfdd01c..348282856 100644 --- a/service/submitqueue/gateway/server/mapper/land_test.go +++ b/service/submitqueue/gateway/server/mapper/land_test.go @@ -94,6 +94,7 @@ func TestResolveMergeStrategy(t *testing.T) { {name: "rebase", in: mergestrategypb.Strategy_REBASE, want: mergestrategy.MergeStrategyRebase}, {name: "squash_rebase", in: mergestrategypb.Strategy_SQUASH_REBASE, want: mergestrategy.MergeStrategySquashRebase}, {name: "merge", in: mergestrategypb.Strategy_MERGE, want: mergestrategy.MergeStrategyMerge}, + {name: "promote", in: mergestrategypb.Strategy_PROMOTE, want: mergestrategy.MergeStrategyPromote}, {name: "unknown", in: mergestrategypb.Strategy(9999), errMsg: "unknown land strategy in proto message"}, }