Aleksandr Chesnokov created IGNITE-29261:
--------------------------------------------

             Summary: 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


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



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

Reply via email to