diff --git a/migration/saga-handler.allowlist b/migration/saga-handler.allowlist index 99e63143..3857c928 100644 --- a/migration/saga-handler.allowlist +++ b/migration/saga-handler.allowlist @@ -1,4 +1,3 @@ -packages/github-devloop/departments/rollup_merge/main.lua packages/github-devloop/departments/rollup_scan/main.lua packages/github-devloop/departments/sync_conflict/main.lua packages/github-devloop/departments/sync_scan/main.lua diff --git a/packages/github-devloop/departments/rollup_merge/main.lua b/packages/github-devloop/departments/rollup_merge/main.lua index e7ce79fb..3b41cf03 100644 --- a/packages/github-devloop/departments/rollup_merge/main.lua +++ b/packages/github-devloop/departments/rollup_merge/main.lua @@ -1,13 +1,16 @@ local core = require("core") +local saga = require("std.saga") -local M = {} - -M.spec = { +local spec = { consumes = { "devloop_rollup_ready" }, produces = {}, stall_window = "5m", } +local function done(_event) + return false +end + local function log_skip(payload, reason) core.log_line("info", "rollup_merge", "rollup", "GATE", { "repo=" .. tostring(core.payload_field(payload, "repo")), @@ -17,7 +20,7 @@ local function log_skip(payload, reason) }) end -function pipeline(event) +local function act(event) local payload = event.payload or {} if not core.is_supported_rollup_ready(payload) then core.log_entry("rollup_merge", event, "rollup", core.payload_field(payload, "dedup_key")) @@ -78,6 +81,9 @@ function pipeline(event) end) end -pipeline = core.wrap_pipeline_failure("rollup_merge", pipeline) - -return M +return saga.department(spec, { + done = done, + act = act, + wrap = core.wrap_pipeline_failure, + name = "rollup_merge", +})