contrueCT opened a new issue, #2983:
URL: https://github.com/apache/hugegraph/issues/2983

   ### Feature Description (功能描述)
   
   ### Problem
   
   HugeGraph's four main CI pipelines occasionally fail on transient
   issues — network hiccups during dependency resolution, Docker image
   pull timeouts, short-lived DNS failures, mainly flaky integration steps on
   slow runners — that pass cleanly on a simple retry:
   
   - HugeGraph-Server CI
   - HugeGraph-Commons CI
   - HugeGraph-PD & Store & Hstore CI
   - Cluster Test CI
   
   Today this forces a maintainer or the PR author to manually click
   "Re-run failed jobs" in the Actions UI, which blocks merges, drains
   reviewer attention, and is especially painful for contributors
   without write access who have to ping someone to do it for them.
   
   ### Proposed feature
   
   Add a small controller workflow (`.github/workflows/rerun-ci.yml`)
   that:
   
   1. Listens for `workflow_run: completed` on exactly those four
      pipelines — no effect on CodeQL / stale / license-checker /
      auto-pr-review.
   2. When `conclusion == 'failure'` AND `run_attempt < 2`, calls
      `gh run rerun <id> --failed` to re-run only the failed jobs.
   3. Stops there. If the rerun also fails, the workflow is left in
      its failed state for a human to investigate — max one automatic
      rerun per original failure, no infinite loops.
   4. Uses least-privilege permissions (`actions: write`,
      `contents: read`) and logs the rerun target (workflow name,
      run id, attempt, conclusion) so maintainers can audit decisions
      in the Actions log.
   
   ### Example scenario
   
   1. A contributor opens a PR.
   2. `HugeGraph-Server CI` fails because `docker pull` timed out.
   3. The new workflow sees `conclusion=failure`, `run_attempt=1`
      and fires `gh run rerun <id> --failed`.
   4. Only the failed job re-runs, the pull succeeds, pipeline
      turns green, the PR is unblocked with zero human action.
   
   I'll follow up with a PR implementing this.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to