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 >
