[
https://issues.apache.org/jira/browse/CALCITE-7871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18131883#comment-18131883
]
Zhen Chen commented on CALCITE-7871:
------------------------------------
I’ve found a way to mark a CI item as "Required," which ensures that a merge
cannot proceed if this item fails. I’m not entirely sure how to verify this
within a PR, but I have already validated all other aspects; the current
implementation aligns with the logic described in the Jira ticket. If you have
some time, could you please take a look and review it?
> Validate pull request titles and require a single matching commit
> -----------------------------------------------------------------
>
> Key: CALCITE-7871
> URL: https://issues.apache.org/jira/browse/CALCITE-7871
> Project: Calcite
> Issue Type: Wish
> Affects Versions: 1.42.0
> Reporter: Zhen Chen
> Assignee: Zhen Chen
> Priority: Minor
> Labels: pull-request-available
>
> Calcite’s pull request template outlines contribution guidelines, but these
> rules currently rely on manual review. Given the significant volume of
> AI-generated contributions, manual oversight is prone to oversights;
> therefore, we should implement automated PR checks to enforce consistent
> titling and single-commit requirements.
> Expected behavior:
> The ruleset in `.asf.yaml` must require the following checks before merging
> into `main`, with no bypass actors and enforced directly by GitHub: the 15 CI
> jobs in `main.yml`, Gradle wrapper `Validation`, `SonarCloud` (code
> scanning), `SonarCloud Code Analysis`, and the two PR metadata checks below.
> `continuous-integration/jenkins/pr-head` is not required by this ruleset.
> - `Check PR title`: requires `[CALCITE-<digits>] <Jira summary>` to match the
> complete PR title and at least one commit subject exactly. Other prefixes
> skip this check. Title edits and pushes rerun it; Jira-only edits need a
> rerun.
> - `Check single commit`: runs only with the `Approved` label. It verifies
> that the label was applied by someone with write, maintain, or admin access,
> then requires exactly one commit. GitHub Approve reviews are separate.
> Existing CI triggers and jobs are unchanged. If a required workflow does not
> run (for example, `main.yml` ignores PRs changing only `site/**`), its
> missing checks block merging. GitHub accepts success, skipped, and neutral
> check conclusions; pending, failed, or cancelled checks block merging. Slow
> tests and website builds are not added to the required list.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)