sunchao commented on code in PR #6218: URL: https://github.com/apache/datafusion-comet/pull/6218#discussion_r4104757387
########## docs/source/contributor-guide/ci.md: ########## @@ -341,6 +341,30 @@ and Iceberg 1.11. If everything is skipped, open the run's `Detect changes` job: `Nightly base:` commit it diffed against and the list of changed files, which is enough to tell a genuinely quiet day from a base that has drifted. +## Release branches + +Release branches (`branch-N.M`) have the same workflow files as `main`, but only the PR tier runs on +them. The merge queue covers only `main`, `ci.yml` runs on push only for `main`, and GitHub fires +scheduled workflows only on the default branch, so a release branch gets no scheduled `ci.yml`, +Miri or CodeQL run. A pull request targeting a release branch, such as a backport, runs the PR tier, +and nothing runs after it merges. + +Label a backport for the suites it could affect, as described in +[Opting a pull request into a suite the PR tier skips](#opting-a-pull-request-into-a-suite-the-pr-tier-skips). +On a release branch a label is the only way a queue-tier suite runs before the change lands, and +there is no nightly behind it to catch what the labels missed. + +To run every suite against a release branch, dispatch `ci.yml` on it: + +```sh +gh workflow run ci.yml --repo apache/datafusion-comet --ref branch-N.M +``` + +The release process does this before tagging each release candidate; see +[Run the Full CI Suite](release_process.md#run-the-full-ci-suite). A failed dispatched run opens no +`ci-nightly-failure` issue. The `docs` job, which publishes the website, runs only from `main`, so Review Comment: [P2] Please require the target release branch to contain the deployment guard before promising that dispatch leaves the website alone. Following the newly documented command with `--ref branch-1.0` executes that branch’s existing workflow, which sets `docs=true` and permits deployment on `workflow_dispatch`. A successful docs build then replaces `asf-site` with the release branch’s site using `rsync --delete` and pushes it, contrary to this guarantee. Merging the guard into `main` does not update existing branches. Qualify both dispatch instructions with a prerequisite to verify/backport the guard, or explicitly limit them to branches containing this change. Evidence: Read-only GitHub inspection pinned `branch-1.0` to `634c885709a9cedce2ad18567667b309d7571f4a`. At that SHA, `.github/workflows/ci.yml:142` forces every output, including `docs`, to true on dispatch, and lines 202–205 permit dispatch and call the branch-local `docs.yaml`. That callee has only an Apache-repository guard and copies to `asf-site` with `rsync --delete` before pushing at lines 66–84. Offline evaluation with `github.event_name='workflow_dispatch'`, `github.ref='refs/heads/branch-1.0'` and `docs='true'` returned true for the existing branch’s deployment condition and false for this PR’s condition. No workflow was dispatched. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
