runner: fix rerun_job log delete — workflow_step_logs keys on workflow_step_id

7136ebc · gmorell · 2026-07-02 21:55

1 files +4 -2

Files changed

modified lib/git_gud/workflows.ex
+4 −2
@@ -1161,8 +1161,10 @@ defmodule GitGud.Workflows do
1161 1161 end)
1162 1162
1163 1163 Repo.transaction(fn ->
1164 # clean slate for this job's logs + steps
1165 Repo.delete_all(from l in "workflow_step_logs", where: l.workflow_job_id == ^job.id)
1164 + # clean slate for this job's logs + steps. Logs are keyed by
1165 + # workflow_step_id, so scope by this job's step ids.
1166 + step_ids_q = from(s in WorkflowStep, where: s.workflow_job_id == ^job.id, select: s.id)
1167 + Repo.delete_all(from l in "workflow_step_logs", where: l.workflow_step_id in subquery(step_ids_q))
1166 1168
1167 1169 Repo.update_all(
1168 1170 from(s in WorkflowStep, where: s.workflow_job_id == ^job.id),

Parents: edf0da5