Idea LGTM, let's check and implement.

On Mon, Nov 9, 2026 at 8:01 AM Aleksandr Chesnokov <[email protected]>
wrote:

> Hi all,
>
> I would like to share our work on tracking network message changes in
> Ignite 2 and discuss the next steps.
>
> Changes to network messages can affect rolling upgrade compatibility
> (see IEP-132 [1]). We want to help contributors and reviewers notice
> these changes during PR review.
>
> First, we added generated JSON files that describe message formats and
> message ID registrations [2]. These files focus on information needed
> for compatibility review. Their diff is easier to analyze than a Java
> diff, which can also show changes to comments, formatting and
> unrelated code.
>
> Github CI checks that the JSON files match the code. The goal was to
> show format changes in the PR diff.
>
> However, contributors need to generate these files with `./mvnw clean
> process-classes -pl modules/wire-compatibility-check -am` and commit
> them whenever the descriptions change. This adds extra work. If they
> update the JSON only after CI fails, reviewers may see the format
> changes after the main code review.
>
> Another option is to create a bot that would generate and commit JSON
> updates for contributors. However, this requires write access to PR
> branches, which raises security concerns, especially for PRs from
> forks. It also requires a more complex setup.
>
> For now, I suggest removing the generated JSON files from the
> repository and generating and comparing them in a GitHub Actions CI
> workflow instead. The generated files would be placed in the target/
> directory. For each PR, CI would publish the diff in the GitHub
> Actions job summary.
>
> The compatibility label would depend only on the JSON diff, replacing
> the current check based on Java file changes. After a successful check
> of the latest PR commit, CI would add the label if there is a diff and
> remove it if there is none
>
> This way, contributors would not need to commit JSON files, and we
> could remove the existing generated JSON files from the project.
>
> Please share your thoughts or concerns about this approach. Let me
> know if you would like more details.
>
> Best regards,
> Aleksandr Chesnokov
>
> [1]
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-132+Rolling+Upgrade
>
> [2]
> https://github.com/apache/ignite/tree/f9d138d6a158347e1f4954c8a91f634439886828/modules/wire-compatibility-check/wire
>

Reply via email to