[ 
https://issues.apache.org/jira/browse/IGNITE-29145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksandr Chesnokov updated IGNITE-29145:
-----------------------------------------
    Description: 
After IGNITE-29261, replace the Java-text rule in 
{{check-protected-classes.yml}} with the JSON comparison result. When a 
successful check of the current PR head finds a diff, add the {{compatibility}} 
label and post or update one bot comment with a link to Job Summary. When a 
successful check finds no diff, remove the label and the bot comment for the 
wire format check. Publish only results from successful checks of the current 
PR head.

h3. Implementation

Keep the build and comparison in the read-only {{pull_request}} workflow. 
Publish a result artifact for both changed and unchanged results; a missing 
diff artifact alone does not prove success. A separate {{workflow_run: 
completed}} workflow must use trusted code from the default branch, handle only 
the code-check workflow's PR runs, validate the result and recheck the current 
open PR head before updating the PR, including for forks. Use a marker to 
identify the comment owned by this workflow. Give write permissions only to 
this job and never execute PR code or artifact contents in it. Retire the old 
Java-text reporting rule in the same change.

h3. Done when

Verify diff, no diff, reverted changes, failed and cancelled checks, and an 
older result arriving after a newer push. Repeat a check with a diff and verify 
that it updates the same comment. Test with a fork PR after the workflow is on 
the default branch. Semantic analysis is outside this task.

Plan: IGNITE-25489. Prerequisite: IGNITE-29261. Use {{completed}} so the label 
and comment reflect the finished JSON comparison. [ASF 
policy|https://infra.apache.org/github-actions-policy.html].

  was:
After IGNITE-29261, replace the Java-text rule in 
{{check-protected-classes.yml}} with the JSON comparison result. For a 
successful check of the current PR head, add the {{compatibility}} label when 
there is a diff and remove it when there is no diff. Failed, cancelled or 
outdated results must leave the label unchanged. The label is a signal for 
review, not a compatibility verdict.

h3. Implementation

Keep the build and comparison in the read-only {{pull_request}} workflow. 
Publish a result artifact for both changed and unchanged results; a missing 
diff artifact alone does not prove success. A separate {{workflow_run: 
completed}} workflow must use trusted code from the default branch, handle only 
the code-check workflow's PR runs, validate the result and recheck the current 
open PR head before updating the label, including for forks. Give write 
permissions only to this job and never execute PR code or artifact contents in 
it. Retire the old label writer in the same change.

h3. Done when

Verify diff, no diff, reverted changes, failed and cancelled checks, and an 
older result arriving after a newer push. Test with a fork PR after the 
workflow is on the default branch. Bot comments and semantic analysis are 
outside this task.

Plan: IGNITE-25489. Prerequisite: IGNITE-29261. Use {{completed}}, rather than 
the earlier {{requested}} proposal, because the label now needs the finished 
JSON comparison. [ASF 
policy|https://infra.apache.org/github-actions-policy.html].

        Summary: Label and comment on PRs with wire format changes  (was: Add 
the compatibility label when the wire format changes)

> Label and comment on PRs with wire format changes
> -------------------------------------------------
>
>                 Key: IGNITE-29145
>                 URL: https://issues.apache.org/jira/browse/IGNITE-29145
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Aleksandr Chesnokov
>            Assignee: Aleksandr Chesnokov
>            Priority: Major
>              Labels: IEP-132, ise
>
> After IGNITE-29261, replace the Java-text rule in 
> {{check-protected-classes.yml}} with the JSON comparison result. When a 
> successful check of the current PR head finds a diff, add the 
> {{compatibility}} label and post or update one bot comment with a link to Job 
> Summary. When a successful check finds no diff, remove the label and the bot 
> comment for the wire format check. Publish only results from successful 
> checks of the current PR head.
> h3. Implementation
> Keep the build and comparison in the read-only {{pull_request}} workflow. 
> Publish a result artifact for both changed and unchanged results; a missing 
> diff artifact alone does not prove success. A separate {{workflow_run: 
> completed}} workflow must use trusted code from the default branch, handle 
> only the code-check workflow's PR runs, validate the result and recheck the 
> current open PR head before updating the PR, including for forks. Use a 
> marker to identify the comment owned by this workflow. Give write permissions 
> only to this job and never execute PR code or artifact contents in it. Retire 
> the old Java-text reporting rule in the same change.
> h3. Done when
> Verify diff, no diff, reverted changes, failed and cancelled checks, and an 
> older result arriving after a newer push. Repeat a check with a diff and 
> verify that it updates the same comment. Test with a fork PR after the 
> workflow is on the default branch. Semantic analysis is outside this task.
> Plan: IGNITE-25489. Prerequisite: IGNITE-29261. Use {{completed}} so the 
> label and comment reflect the finished JSON comparison. [ASF 
> policy|https://infra.apache.org/github-actions-policy.html].



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to