feat(forgejo): auto-merge.sh end-to-end loop helper + ADR-016 update #13

Merged
navigator merged 1 commit from feature/auto-merge-helper into main 2026-05-24 11:28:40 -03:00
Owner

End-to-end GitOps loop helper that wraps the manual orchestration validated on PRs #10/#11/#12.

bash infra/forgejo/auto-merge.sh <PR_NUM> [timeout]:

  1. Fetches PR head SHA via admin API
  2. Polls workflow runs for that SHA every 20s
  3. Exits 2 if any job fails; 3 on timeout (default 15min)
  4. When all jobs green: calls approve-pr.sh (fluidpop-bot review)
  5. Re-checks mergeable; squash-merges via admin token
  6. Exit 0 on success; 4/5 on approval/merge failures

Self-test: this PR itself will be merged via the helper (if CI green) as proof.

Tests: docs-only (script + ADR text). CI runs shell-lint on the new script. Per GitOps workflow, ready for fluidpop-bot self-test approve + merge via auto-merge.sh.

ADR-016 Tracking section updated to reference the helper and clarify acceptance criterion.

End-to-end GitOps loop helper that wraps the manual orchestration validated on PRs #10/#11/#12. `bash infra/forgejo/auto-merge.sh <PR_NUM> [timeout]`: 1. Fetches PR head SHA via admin API 2. Polls workflow runs for that SHA every 20s 3. Exits 2 if any job fails; 3 on timeout (default 15min) 4. When all jobs green: calls approve-pr.sh (fluidpop-bot review) 5. Re-checks mergeable; squash-merges via admin token 6. Exit 0 on success; 4/5 on approval/merge failures Self-test: this PR itself will be merged via the helper (if CI green) as proof. Tests: docs-only (script + ADR text). CI runs shell-lint on the new script. Per GitOps workflow, ready for fluidpop-bot self-test approve + merge via auto-merge.sh. ADR-016 Tracking section updated to reference the helper and clarify acceptance criterion.
feat(forgejo): auto-merge.sh end-to-end loop helper + ADR-016 update
All checks were successful
build / scalafmt-check (push) Successful in 4s
build / sbt-compile (push) Successful in 3s
build / shell-lint (push) Successful in 48s
build / scalafmt-check (pull_request) Successful in 3s
build / sbt-compile (pull_request) Successful in 3s
build / shell-lint (pull_request) Successful in 8s
63ba4bcbc9
infra/forgejo/auto-merge.sh PR_NUM [timeout]: wraps the full GitOps loop in
one call.

1. Fetch PR head SHA
2. Poll workflow runs for that SHA every 20s
3. Exit code 2 if any job fails; 3 on timeout (default 15min)
4. When all green: call approve-pr.sh (fluidpop-bot review)
5. Re-check mergeable; squash-merge via admin token
6. Exit code 0 on success; 4/5 on approval/merge failures

Future PRs: bash infra/forgejo/auto-merge.sh <N> is the one-liner that
takes a PR from green-CI to merged-on-main without manual intervention.

ADR-016 Tracking section updated to reference the new helper and clarify
that PRs #10/#11/#12 were merged via the manual variant of the loop;
auto-merge.sh validation is the criterion for Status -> Accepted.
fluidpop-bot left a comment
Collaborator

CI green (head 63ba4bcbc9), auto-approving

CI green (head 63ba4bcbc929724d6953dad42dbc8bb25a79f1c8), auto-approving
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Fluid/fluidpop-v1!13
No description provided.