fix: raise auto-merge molecule wait to cover suite duration
CI / validate (pull_request) Successful in 1m39s
CI / molecule-tests (1) (pull_request) Skipped
CI / molecule-tests (2) (pull_request) Skipped
CI / molecule-tests (3) (pull_request) Skipped
CI / molecule-tests (4) (pull_request) Skipped
CI / auto-merge (pull_request) Successful in 1m24s

auto-merge polls molecule-tests with MAX_WAIT=600 inside a
timeout-minutes: 10 job, but the distributed molecule suite takes ~25
minutes — every synchronize run timed out and merges only succeeded
via manual failed-job reruns. MAX_WAIT=2400 and timeout-minutes: 50
give the wait loop room to see molecule finish.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
Emil Simeonov
2026-09-18 12:50:38 +02:00
co-authored by Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
parent f7948cace7
commit 2f4e4ac220
2 changed files with 50 additions and 2 deletions
+48
View File
@@ -0,0 +1,48 @@
# GRM-169: Fix auto-merge timeout — molecule wait exceeds 10-min job cap
## Problem
The `auto-merge` job in `ci.yml` polls molecule-tests status with
`MAX_WAIT=600` (10 minutes) inside a job capped at
`timeout-minutes: 10`. The molecule suite takes ~25 minutes under the
4-runner distribution. Result: every `pull_request` synchronize run of
auto-merge exhausts MAX_WAIT, prints `Timed out waiting for molecule
tests`, and fails — observed on PR #275 (run 5988) where all molecule
jobs were green but auto-merge died before they finished. The merge
only completed via a manual rerun-failed-jobs call after molecule was
already green.
## Approach
REQ-1: Raise the molecule wait budget in `.gitea/workflows/ci.yml` so it
exceeds the observed suite duration: `MAX_WAIT=2400` (40 minutes — ~1.6x
the observed 25-minute suite) and the job `timeout-minutes` to `50`
(wait budget plus setup/post overhead).
REQ-2: No other behavior changes — the wait loop, success/failure/skipped
classification, and merge semantics stay identical. The job still runs
on every pull_request event; it simply no longer aborts early.
## Test Plan
- `make workflow-lint` (actionlint) passes on the edited file.
- `make workflow-dryrun` where available.
- Next PR's auto-merge run waits past the 10-minute mark and merges
after molecule turns green (verified on a subsequent PR).
## Deploy Plan
Merge via auto-merge — ironically exercised by this very PR's auto-merge
run: it must wait for this PR's own molecule jobs, demonstrating the fix
in production immediately.
## Rollback Plan
Revert the two changed lines. Risk of keeping the fix: none — a longer
wait can only extend a job that was previously guaranteed to fail.
## Acceptance Criteria
- [x] `MAX_WAIT` raised to 2400 in the auto-merge wait loop.
- [x] `timeout-minutes` raised to 50 on the auto-merge job.
- [x] `make workflow-lint` passes.