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

Aleksandr Chesnokov updated IGNITE-29261:
-----------------------------------------
    Description: Let's stop storing the generated wire format JSON files in 
Git, so contributors do not need to update and commit them. For pull requests 
to master, CI should generate the descriptions for two compared revisions and 
show the diff in the GitHub Actions Job Summary; the diff is a signal for 
review, while build or generation errors fail the check.  (was: Contributors 
currently have to regenerate and commit the message format JSON files. If they 
forget this step, CI fails and they need an extra commit, often after the code 
review.

Let's stop tracking these generated files in Git. For pull requests targeting 
master, a committer starts the check before merge. CI builds two fixed 
revisions, generates their wire format descriptions, including ids.json, and 
shows the diff and the compared commit SHAs in the GitHub Actions Job Summary.

* Collect the generated descriptions under target/ and remove the generated 
JSON files from Git together with the check that requires contributors to 
commit them.
* Keep the existing collection and message ID generation. Check that both 
generated sets are complete. A failed build, incomplete generation or an 
unsupported base revision must fail the check, not produce an empty diff.
* A non-empty diff is a signal for review and must not fail the check. It does 
not prove that the change is incompatible.
* Make the report accessible from the pull request. Keep the complete diff 
available if the Summary shows only a preview.
* Support pull requests from forks. Verify field changes, message ID changes 
and changes that only affect comments or formatting.
* Update the instructions for generating and reviewing the descriptions.

The comparison revisions still need to be agreed: the merge base and PR HEAD, 
or the current target branch commit and the result of merging the PR into it.

Updating the compatibility label is a separate task (IGNITE-29145). Support for 
release branches and semantic compatibility analysis are outside this task.

Discussion: 
https://lists.apache.org/thread.html/hq3d8opxscww09pobvqfvwgc1d0v9cls)

> Generate and compare wire format descriptions in CI instead of tracking them 
> in Git
> -----------------------------------------------------------------------------------
>
>                 Key: IGNITE-29261
>                 URL: https://issues.apache.org/jira/browse/IGNITE-29261
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Aleksandr Chesnokov
>            Assignee: Aleksandr Chesnokov
>            Priority: Major
>
> Let's stop storing the generated wire format JSON files in Git, so 
> contributors do not need to update and commit them. For pull requests to 
> master, CI should generate the descriptions for two compared revisions and 
> show the diff in the GitHub Actions Job Summary; the diff is a signal for 
> review, while build or generation errors fail the check.



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

Reply via email to