This is an automated email from the ASF dual-hosted git repository. github-merge-queue[bot] pushed a commit to branch gh-readonly-queue/dev/pr-12720-0278a6a74746856488dd27713736f008e3115c11 in repository https://gitbox.apache.org/repos/asf/seatunnel.git
commit affbe05ff724cf8bbbb1bae109d15391cc1669ad Author: Jast <[email protected]> AuthorDate: Sun Oct 11 09:05:43 2026 +0000 [Improve][CI] Allow manual fork-build retrigger and clarify detection-failure guidance (#12720) Co-authored-by: Daniel Carter <[email protected]> --- .github/workflows/build_main.yml | 4 ++++ .github/workflows/notify_test_workflow.yml | 12 ++++++++---- .github/workflows/update_build_status.yml | 3 +++ docs/en/developer/contribution-path.md | 10 ++++++++++ docs/zh/developer/contribution-path.md | 10 ++++++++++ 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_main.yml b/.github/workflows/build_main.yml index d46ec4ad26..171e8421d5 100644 --- a/.github/workflows/build_main.yml +++ b/.github/workflows/build_main.yml @@ -23,6 +23,10 @@ on: push: branches-ignore: - 'gh-readonly-queue/**' + # Lets a contributor start the build by hand from their fork's Actions tab when + # GitHub does not create a run for a push (e.g. a lost push event); the scheduled + # Update build status workflow then adopts the run for the PR's Build check. + workflow_dispatch: jobs: call-build-and-test: diff --git a/.github/workflows/notify_test_workflow.yml b/.github/workflows/notify_test_workflow.yml index 5f56774664..829a2ad9f6 100644 --- a/.github/workflows/notify_test_workflow.yml +++ b/.github/workflows/notify_test_workflow.yml @@ -78,11 +78,15 @@ jobs: output: { title: 'Workflow run detection failed', summary: ` - Unable to detect the workflow run for testing the changes in your PR. + Unable to detect the workflow run for testing the changes in your PR. The build for a PR runs in your fork, and no \`Build\` workflow run was found there for the PR head commit. - 1. If you did not enable GitHub Actions in your forked repository, please enable it by clicking the button as shown in the image below. See also [Disabling or limiting GitHub Actions for a repository](https://docs.github.com/en/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-repository) for more details. - 2. Create and push an empty commit to trigger the workflow. - 3. It is possible your branch is based on the old \`dev\` branch in Apache SeaTunnel, please sync your branch to the latest dev branch. For example as below: + 1. Open the **Actions** tab of your fork. If it shows the enable button below (GitHub Actions was never enabled or was disabled, e.g. by a billing or spending-limit hold on the account), enable it, then start a run as in step 2. While Actions is disabled, nothing runs in the fork — including this build. See also [Disabling or limiting GitHub Actions for a repository](https://docs.github.com/en/github/administering-a-repository/disabling-or-limiting-github-actions-for-a-reposi [...] + 2. GitHub did not create a run for your push (a lost trigger — nothing is wrong with your changes). Start one by hand: select the **Build** workflow in your fork's **Actions** tab, click **Run workflow** and pick this PR branch. The scheduled \`Update build status workflow\` then adopts the run for this check within 15 minutes. Alternatively, create and push an empty commit: + \`\`\`bash + git commit --allow-empty -m "Trigger CI" + git push + \`\`\` + 3. If your branch is based on the old \`dev\` branch in Apache SeaTunnel, please sync your branch to the latest dev branch and push again. For example as below: \`\`\`bash git fetch upstream git rebase upstream/dev diff --git a/.github/workflows/update_build_status.yml b/.github/workflows/update_build_status.yml index 5c2f16399b..3c0f9b6ca8 100644 --- a/.github/workflows/update_build_status.yml +++ b/.github/workflows/update_build_status.yml @@ -22,6 +22,9 @@ name: Update build status workflow on: schedule: - cron: "*/15 * * * *" + # Lets a committer sync PR Build checks immediately instead of waiting for the + # next scheduled tick, e.g. after a contributor retriggers a lost fork build. + workflow_dispatch: # Overlapping ticks must not both create a Build check run for the same re-run. concurrency: diff --git a/docs/en/developer/contribution-path.md b/docs/en/developer/contribution-path.md index b60c4985c6..dcd06bf297 100644 --- a/docs/en/developer/contribution-path.md +++ b/docs/en/developer/contribution-path.md @@ -147,6 +147,16 @@ The workflow selects jobs as follows: Check the jobs listed under the Backend `Build` before assuming that a green result includes every connector integration-test shard. +### If the Build check reports "Workflow run detection failed" + +This means no `Build` workflow run was found in your fork for the PR head commit — it is not a test failure. Recover as follows: + +1. **Actions disabled in the fork.** Open the **Actions** tab of your fork: if it shows an enable button or a billing banner (Actions can be disabled account-wide by a billing or spending-limit hold), resolve that first — while Actions is disabled, no build runs in the fork at all. +2. **GitHub did not create a run for your push.** Select the **Build** workflow in your fork's **Actions** tab, click **Run workflow**, and pick the PR branch. The scheduled `Update build status workflow` links the run back to the PR `Build` check within 15 minutes. Alternatively, push an empty commit: `git commit --allow-empty -m "Trigger CI" && git push`. +3. **Branch based on an old `dev`.** Rebase onto the latest `dev` and push again. + +If a run exists in your fork but the check stays failed or queued for more than 15 minutes, ask a committer to run the `Update build status workflow` manually from the repository's **Actions** tab. + ## Good First Contribution Shapes These contribution shapes tend to land faster: diff --git a/docs/zh/developer/contribution-path.md b/docs/zh/developer/contribution-path.md index 8dab6944dd..dda8622609 100644 --- a/docs/zh/developer/contribution-path.md +++ b/docs/zh/developer/contribution-path.md @@ -147,6 +147,16 @@ workflow 按下面的规则选择 jobs: 判断一次绿色 Backend `Build` 是否包含所有 connector 集成测试分片前,请先查看该 Build 实际列出的 jobs。 +### 如果 Build 检查报 "Workflow run detection failed" + +这表示在你的 fork 中找不到 PR head 提交对应的 `Build` workflow 运行,并不是测试失败。可以按以下方式恢复: + +1. **fork 的 Actions 被禁用。** 打开你 fork 的 **Actions** 标签页:如果显示启用按钮或账单提示(账户级的账单/额度问题会导致所有仓库的 Actions 被禁用),先处理它——Actions 被禁用期间,fork 里不会运行任何构建。 +2. **GitHub 没有为这次 push 创建运行。** 在 fork 的 **Actions** 标签页选择 **Build** workflow,点击 **Run workflow** 并选中 PR 分支;定时的 `Update build status workflow` 会在 15 分钟内把这次运行同步回 PR 的 `Build` 检查。也可以推一个空提交:`git commit --allow-empty -m "Trigger CI" && git push`。 +3. **分支基于旧的 `dev`。** rebase 到最新 `dev` 后重新推送。 + +如果 fork 中已有运行,但检查超过 15 分钟仍处于失败或排队状态,可以请 committer 在仓库的 **Actions** 标签页手动运行一次 `Update build status workflow`。 + ## 哪类首个贡献更容易落地 这些类型通常更容易合入:
