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