[ 
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. 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].

  was:
The Protected Classes workflow searches changed files for {{@Order}}. It misses 
many changes, for example a new field type.

Let's add the {{compatibility}} label when a pull request changes files in 
{{modules/wire-compatibility-check/wire}} or the hand-written serialization 
code, and remove it when the change is reverted.


> Add the compatibility label when the 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. 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].



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

Reply via email to