GRM-169: fix: raise auto-merge molecule wait to cover suite duration
Post-merge / detect-and-configure (push) Successful in 59s
Post-merge / release-and-maintain (push) Successful in 1m15s

This commit was merged in pull request #276.
This commit is contained in:
2026-09-18 10:54:09 +00:00
parent f7948cace7
commit 8d3e2e03f6
2 changed files with 50 additions and 2 deletions
+2 -2
View File
@@ -283,7 +283,7 @@ jobs:
needs.validate.result == 'success'
runs-on: docker
container: git.oblachno.oblachno.fyi/oblachno-oss/runner-images/ci-base:latest
timeout-minutes: 10
timeout-minutes: 50
defaults:
run:
shell: bash
@@ -321,7 +321,7 @@ jobs:
run: |
. .venv/bin/activate 2>/dev/null || true
# Poll commit status until all required checks pass or fail
MAX_WAIT=600 # 10 minutes
MAX_WAIT=2400 # 40 minutes — covers the ~25-min molecule suite
ELAPSED=0
while [ $ELAPSED -lt $MAX_WAIT ]; do
STATUS=$(curl -s -H "Authorization: token $CI_GITEA_API_TOKEN" \
+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.