[
https://issues.apache.org/jira/browse/IGNITE-29230?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aleksandr Chesnokov updated IGNITE-29230:
-----------------------------------------
Description: This is a possible later step under IGNITE-25489, not a
prerequisite for IGNITE-29261 or IGNITE-29145. Consider a tool that compares
two generated JSON description sets, including {{ids.json}}, and explains
changes that may affect compatibility. Before implementation, agree the
supported compatibility rules, the role of {{introducedBy}} and
{{deprecatedBy}}, and whether the tool should only advise or fail CI. The need
and scope of this semantic analyzer remain open. The current agreed CI step
uses a plain JSON diff as a signal for manual review. (was: Since IGNITE-29143
the message format is described in {{modules/wire-compatibility-check/wire}}.
Now a reviewer compares two versions of this directory by eye and decides if
the change is compatible.
Let's add a tool that takes two {{wire/}} directories, for example from two
releases or from the RU base commit and a pull request, and reports the
incompatible changes: a changed or removed field, a changed type, a changed
message ID, a new field without {{introducedBy}}, a removed field without
{{deprecatedBy}}. A change that keeps the same bytes, for example a field moved
from a parent class to a child, is not reported. CI runs the tool on every pull
request against the base commit.)
> Add a tool that compares two wire/ directories
> ----------------------------------------------
>
> Key: IGNITE-29230
> URL: https://issues.apache.org/jira/browse/IGNITE-29230
> Project: Ignite
> Issue Type: Improvement
> Reporter: Aleksandr Chesnokov
> Assignee: Aleksandr Chesnokov
> Priority: Major
>
> This is a possible later step under IGNITE-25489, not a prerequisite for
> IGNITE-29261 or IGNITE-29145. Consider a tool that compares two generated
> JSON description sets, including {{ids.json}}, and explains changes that may
> affect compatibility. Before implementation, agree the supported
> compatibility rules, the role of {{introducedBy}} and {{deprecatedBy}}, and
> whether the tool should only advise or fail CI. The need and scope of this
> semantic analyzer remain open. The current agreed CI step uses a plain JSON
> diff as a signal for manual review.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)