[
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)