[PR #2938] [MERGED] fix(ci): enforce merge verification and unblock superseded runs #5504

Closed
opened 2026-10-31 01:07:09 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/2938
Author: @morluto
Created: 10/13/2026
Status: ✅ Merged
Merged: 10/13/2026
Merged by: @morluto

Base: main ← Head: fix/ci-merge-gate-cancellation


📝 Commits (4)

  • d47ae16 fix(ci): repair inherited formatting failures
  • 5b851f0 fix(ci): release superseded PR concurrency slots
  • 5ccd690 docs: require current-base checks before maintainer merges
  • c13bd8d docs: preserve administrator merge override

📊 Changes

6 files changed (+39 additions, -29 deletions)

View changed files

📝 .github/workflows/ci.yml (+4 -3)
📝 .github/workflows/pr-title.yml (+1 -1)
📝 CONTRIBUTING.md (+5 -0)
📝 docs/readme/README_tr.md (+23 -23)
📝 scripts/lib/clean-linux-hopper-runtime.mjs (+3 -1)
📝 tests/boundary/filesystem/ciRequiredLanes.test.ts (+3 -1)

📄 Description

Superseded PR runs kept CI required queued because its always() condition survived cancellation, leaving newer runs pending in the same concurrency group. Use !cancelled() so failed dependencies still reach the existing fail-closed gate while canceled runs release their slots. Pin the classifier, title check, and final gate to Ubuntu 24.04; scheduling improvements remain subject to live measurement.

Repair two inherited formatter failures in the Turkish README and Linux Hopper fixture helper. Document current-base verification for routine merges in CONTRIBUTING.md. Repository settings have separately been backed up and updated to require an up-to-date branch; check names and GitHub Actions app bindings are preserved. Administrator override remains available for deliberate maintainer recovery, as requested by the maintainer. Squash merging remains enabled.

Validation:

  • Regression fails on the original always() condition; 192 focused CI/release workflow tests pass after the change, including failed, canceled, skipped, and missing required-lane results.
  • npm run check, npm run check:ci, npm run docs:check, and actionlint 1.7.7 pass on Node.js 24.18.0 / npm 11.16.0.
  • Live cancellation verified: after the branch update created run 38439315409 at 17:31:14 UTC, superseded run 38439127628 completed canceled at 17:31:16, including its aggregate gate. The replacement classifier was created at 17:31:16 and started at 17:31:20. This is one operational observation, not a controlled suite speedup.
  • Manual cancellation also verified in isolated live probe 38440482565: after a prerequisite succeeded, canceling a running dependent lane gave both that lane and the !cancelled() aggregate check a terminal cancelled conclusion. The aggregate was not skipped or successful. The probe branch is not part of this PR.
  • Complete current-head CI remains pending. CPU time, process-family peak memory, cache warmth, and agent-token costs were not measured.
  • Provider execution code is unchanged; the Hopper helper change is formatting only. Real-provider verification is owned by the selected CI lanes.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/2938 **Author:** [@morluto](https://github.com/morluto) **Created:** 10/13/2026 **Status:** ✅ Merged **Merged:** 10/13/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `fix/ci-merge-gate-cancellation` --- ### 📝 Commits (4) - [`d47ae16`](https://github.com/morluto/rea/commit/d47ae169b840570990e84e7f5de21c30129b5d95) fix(ci): repair inherited formatting failures - [`5b851f0`](https://github.com/morluto/rea/commit/5b851f0fd197cc8520a15031a0c1e980d64dcb7a) fix(ci): release superseded PR concurrency slots - [`5ccd690`](https://github.com/morluto/rea/commit/5ccd690e47f3d73d58560b3364c7f7e02bdef5b6) docs: require current-base checks before maintainer merges - [`c13bd8d`](https://github.com/morluto/rea/commit/c13bd8d1a3231935b9f7f3e0be6c4bb3b683c457) docs: preserve administrator merge override ### 📊 Changes **6 files changed** (+39 additions, -29 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/ci.yml` (+4 -3) 📝 `.github/workflows/pr-title.yml` (+1 -1) 📝 `CONTRIBUTING.md` (+5 -0) 📝 `docs/readme/README_tr.md` (+23 -23) 📝 `scripts/lib/clean-linux-hopper-runtime.mjs` (+3 -1) 📝 `tests/boundary/filesystem/ciRequiredLanes.test.ts` (+3 -1) </details> ### 📄 Description Superseded PR runs kept `CI required` queued because its `always()` condition survived cancellation, leaving newer runs pending in the same concurrency group. Use `!cancelled()` so failed dependencies still reach the existing fail-closed gate while canceled runs release their slots. Pin the classifier, title check, and final gate to Ubuntu 24.04; scheduling improvements remain subject to live measurement. Repair two inherited formatter failures in the Turkish README and Linux Hopper fixture helper. Document current-base verification for routine merges in CONTRIBUTING.md. Repository settings have separately been backed up and updated to require an up-to-date branch; check names and GitHub Actions app bindings are preserved. Administrator override remains available for deliberate maintainer recovery, as requested by the maintainer. Squash merging remains enabled. Validation: - Regression fails on the original `always()` condition; 192 focused CI/release workflow tests pass after the change, including failed, canceled, skipped, and missing required-lane results. - `npm run check`, `npm run check:ci`, `npm run docs:check`, and actionlint 1.7.7 pass on Node.js 24.18.0 / npm 11.16.0. - Live cancellation verified: after the branch update created run 38439315409 at 17:31:14 UTC, superseded run 38439127628 completed canceled at 17:31:16, including its aggregate gate. The replacement classifier was created at 17:31:16 and started at 17:31:20. This is one operational observation, not a controlled suite speedup. - Manual cancellation also verified in [isolated live probe 38440482565](https://github.com/morluto/rea/actions/runs/38440482565): after a prerequisite succeeded, canceling a running dependent lane gave both that lane and the `!cancelled()` aggregate check a terminal `cancelled` conclusion. The aggregate was not skipped or successful. The probe branch is not part of this PR. - Complete current-head CI remains pending. CPU time, process-family peak memory, cache warmth, and agent-token costs were not measured. - Provider execution code is unchanged; the Hopper helper change is formatting only. Real-provider verification is owned by the selected CI lanes. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:07:09 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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
morluto/rea#5504
No description provided.