GRM-169: fix: raise auto-merge molecule wait to cover suite duration
This commit was merged in pull request #276.
This commit is contained in:
@@ -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" \
|
||||
|
||||
@@ -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.
|
||||
Reference in New Issue
Block a user