Commit Graph

17 Commits

Author SHA1 Message Date
Peter Steinberger
6a8f16a69e chore(pr): reuse green hosted CI from patch-identical pre-rebase heads (#111335)
* chore(pr): reuse green hosted CI from patch-identical pre-rebase heads (24h window)

* fix(pr): type-safe fixtures and lint cleanup for hosted-CI reuse tests
2026-07-19 05:34:48 -07:00
Peter Steinberger
bbb45cde9d fix(scripts): keep hosted-gate run queries under the gh relay response cap (#110540) 2026-07-18 09:34:50 +01:00
Peter Steinberger
aafbf7aabc fix(pr): close the review follow-ups on early gate proof (#109513)
* fix(pr): close the review follow-ups on early gate proof

Three fail-safe gaps from #109331's review that silently disabled the
speedup: a stale terminal failure blocked a gate-proven pending rerun
(now superseded only by a SCHEDULED run whose own gate passed — manual
runs still cannot mask unresolved failures, guard test intact); the
attempt jobs lookup read one page while full-scope runs sit near the
100-job cap (now pages until the gate job is visible); and same-attempt
completion between snapshot and re-read discarded valid gate evidence
(now only an advanced attempt or non-success completion rejects).

* fix(pr): only newer gate-proven reruns supersede a terminal failure

Autoreview P1: without an ordering bound, a stalled older run's passed
gate could mask a newer completed failure. The supersede now requires
the gate-proven scheduled run to be created after the failed run;
regression test covers the stalled-older-run case.
2026-07-16 19:02:52 -07:00
Peter Steinberger
96b2a203ce perf(pr): accept gate-proven in-progress CI runs for landing (#109331)
* perf(pr): accept gate-proven in-progress CI runs for landing

verify-pr-hosted-gates required the whole CI run to reach completed,
but openclaw/ci-gate — the branch-protection check — needs every
selected lane and fails on any non-success, so a successful gate bound
to the run's check suite proves the merge-relevant outcome while
post-gate stragglers (timing summaries, artifact uploads) are still
running. prepare-run now accepts an in-progress run whose own gate
check succeeded, cutting one to several minutes per landing. Exact
attempt binding via check_suite id prevents a stale gate from a
previous attempt vouching for a rerun; gate proof only applies to the
exact head under verification, never recent-parent evidence.

* fix(pr): bind gate proof to the run attempt, not the check suite

Autoreview P1: check suites survive reruns, so a prior attempt's
successful gate could vouch for an in-progress rerun that has not
reached its own gate. The proof now goes through the attempt-scoped
jobs listing (filter=latest): the gate job must carry the run's own
run_attempt. Regression tests cover same-run/previous-attempt,
different-run, failed, and missing gate jobs.

* fix(pr): rely on filter=latest for gate attempt scoping

Autoreview P2: the REST list-jobs payload does not expose run_attempt,
so requiring it rejected every genuine rerun gate. loadCiGateJobs
already fetches per run with filter=latest, which scopes to the current
attempt, so a run_id match binds the gate correctly without the absent
field.

* fix(pr): declare ciGateJobs in the hosted-gates evidence typedef

* fix(pr): un-export the internal gate helper and loosen test id typing

hasSuccessfulCiGateJob is only reached through collectHostedGateEvidence,
so exporting it tripped the hard-zero deadcode gate; the new test also
typed workflow ids as number against the unknown-shaped return.

* fix(pr): bind early gate proof to the run attempt

Autoreview P1: workflow attempts share a run id and filter=latest keeps
a not-yet-rerun job's prior-attempt execution, so a partial rerun could
surface an old successful ci-gate. The REST job payload does expose
run_attempt (verified live), so fetch the attempt-specific jobs endpoint
and require the gate job's run_attempt to equal the run's.

* fix(pr): revalidate the run attempt after loading gate jobs

Autoreview P2: a rerun starting between the workflow-run snapshot and the
attempt-specific jobs fetch could return a stale prior-attempt gate. Re-read
the run after fetching its jobs and drop the evidence if the run completed or
its attempt advanced, so early proof only applies while the same attempt is
still pending.
2026-07-16 18:31:40 -07:00
Peter Steinberger
bae9752c5a refactor(deadcode): enforce repository hard zero (#108641) 2026-07-15 22:40:00 -07:00
Peter Steinberger
c490117a9f fix(pr): harden coordinator hosted gates (#108153)
* fix(pr): route hosted gate reads through cache

* test(control-ui): stabilize process readiness

* fix(ci): stabilize startup memory sampling

* fix(gateway): route OpenClaw approval listing

* fix(state): reuse schema repair transaction

* test(agents): assert host authority scope

* chore(plugin-sdk): refresh API baseline

* test(agents): assert delegate tool fixture

* test(sessions): stabilize concurrency worker startup
2026-07-15 03:45:37 -07:00
Peter Steinberger
52b56c1f31 fix(maint): honor recent green PR cohorts (#107411) 2026-07-14 05:11:57 -07:00
Peter Steinberger
ad3142ae85 fix(maint): enforce 24-hour hosted gate freshness (#104651)
* fix(maint): enforce 24-hour hosted gate freshness

* style(maint): avoid hosted gate run shadowing
2026-07-11 12:33:46 -07:00
Peter Steinberger
a94498cf6f fix(maint): reuse recent same-PR hosted gates (#104355)
* fix(maint): reuse recent same-PR hosted gates

* style(maint): format hosted gate verifier
2026-07-11 02:49:53 -07:00
Peter Steinberger
5d9cec16f3 fix(maint): reuse recent hosted gates after rebase (#100663)
* fix(maint): reuse recent hosted gates after rebase

* fix(maint): preserve whitespace in gate fingerprints
2026-07-06 07:43:03 +01:00
Peter Steinberger
286d0b9fb3 fix(ci): bound hosted gate run pagination (#100332) 2026-07-05 08:55:05 -07:00
Vincent Koc
69891cf2ac fix(maint): protect pending hosted CI reruns 2026-06-23 21:49:36 +08:00
Vincent Koc
541f9b25d2 fix(maint): choose latest hosted CI run 2026-06-23 21:49:36 +08:00
Vincent Koc
a02a8cca79 fix(qa): reject duplicate hosted gate options 2026-06-23 14:35:37 +02:00
Vincent Koc
f13a10c798 fix(scripts): run gh without terminal formatting 2026-06-22 18:44:21 +08:00
Vincent Koc
03ce3d41b1 fix(ci): reject hosted gate flag values 2026-06-21 20:09:53 +02:00
Vincent Koc
abb6f04e0c ci(release): harden release controls
One-time maintainer-authorized bootstrap merge for the release-gate verifier policy. Exact hosted CI and all supporting workflow gates passed on 66133de419.
2026-06-18 03:11:20 +08:00