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>
49 lines
1.9 KiB
Markdown
49 lines
1.9 KiB
Markdown
# 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.
|