-
Notifications
You must be signed in to change notification settings - Fork 579
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes revapi configuration for merging #8936
Conversation
fb5c43e
to
5a986e9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
🔧 Please refer to the wiki in the PR description.
Fixes revapi configuration to allow merging configurations together. This will let us leverage the CI support for `ignored-changes.json` files, which are for temporary breaking changes which should be removed from the revapi configuration once a new version is released. Essentially, you can split extension blocks across multiple files, but the extension within the same pipeline must have the exact same ID. When they have the same ID, they will be merged. Revapi doesn't do complex merging, the merging is purely additive: this means scalar properties (e.g. boolean, string, int, etc.) will fail when specified multiple times. Collections are merged, however, so two arrays will be concatenated. We chose to use the extension name without the `revapi.` prefix, simply because it's shorter than the extension name while still remaining descriptive.
5a986e9
to
266a6be
Compare
bors merge |
8936: Fixes revapi configuration for merging r=npepinpe a=npepinpe ## Description Fixes revapi configuration to allow merging configurations together. This will let us leverage the CI support for `ignored-changes.json` files, which are for temporary breaking changes which should be removed from the revapi configuration once a new version is released. Essentially, you can split extension blocks across multiple files, but the extension within the same pipeline must have the exact same ID. When they have the same ID, they will be merged. Revapi doesn't do complex merging, the merging is purely additive: this means scalar properties (e.g. boolean, string, int, etc.) will fail when specified multiple times. Collections are merged, however, so two arrays will be concatenated. We chose to use the extension name without the `revapi.` prefix, simply because it's shorter while remaining descriptive. This means all extensions share the same ID, and adding a new `ignored-changes.json` will also require one to do the same. I've updated [the wiki](https://github.com/camunda-cloud/zeebe/wiki/Breaking-Changes) as well to explain this. This will be necessary for #8837 since we will want to add some "breaking" changes (though they aren't ABI breaking). ## Related issues related to #8837 Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
Build failed: |
bors r+ |
8936: Fixes revapi configuration for merging r=npepinpe a=npepinpe ## Description Fixes revapi configuration to allow merging configurations together. This will let us leverage the CI support for `ignored-changes.json` files, which are for temporary breaking changes which should be removed from the revapi configuration once a new version is released. Essentially, you can split extension blocks across multiple files, but the extension within the same pipeline must have the exact same ID. When they have the same ID, they will be merged. Revapi doesn't do complex merging, the merging is purely additive: this means scalar properties (e.g. boolean, string, int, etc.) will fail when specified multiple times. Collections are merged, however, so two arrays will be concatenated. We chose to use the extension name without the `revapi.` prefix, simply because it's shorter while remaining descriptive. This means all extensions share the same ID, and adding a new `ignored-changes.json` will also require one to do the same. I've updated [the wiki](https://github.com/camunda-cloud/zeebe/wiki/Breaking-Changes) as well to explain this. This will be necessary for #8837 since we will want to add some "breaking" changes (though they aren't ABI breaking). ## Related issues related to #8837 Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
Build failed: |
bors r+ 😄 |
8936: Fixes revapi configuration for merging r=npepinpe a=npepinpe ## Description Fixes revapi configuration to allow merging configurations together. This will let us leverage the CI support for `ignored-changes.json` files, which are for temporary breaking changes which should be removed from the revapi configuration once a new version is released. Essentially, you can split extension blocks across multiple files, but the extension within the same pipeline must have the exact same ID. When they have the same ID, they will be merged. Revapi doesn't do complex merging, the merging is purely additive: this means scalar properties (e.g. boolean, string, int, etc.) will fail when specified multiple times. Collections are merged, however, so two arrays will be concatenated. We chose to use the extension name without the `revapi.` prefix, simply because it's shorter while remaining descriptive. This means all extensions share the same ID, and adding a new `ignored-changes.json` will also require one to do the same. I've updated [the wiki](https://github.com/camunda-cloud/zeebe/wiki/Breaking-Changes) as well to explain this. This will be necessary for #8837 since we will want to add some "breaking" changes (though they aren't ABI breaking). ## Related issues related to #8837 Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
Build failed: |
bors r+ |
8936: Fixes revapi configuration for merging r=npepinpe a=npepinpe ## Description Fixes revapi configuration to allow merging configurations together. This will let us leverage the CI support for `ignored-changes.json` files, which are for temporary breaking changes which should be removed from the revapi configuration once a new version is released. Essentially, you can split extension blocks across multiple files, but the extension within the same pipeline must have the exact same ID. When they have the same ID, they will be merged. Revapi doesn't do complex merging, the merging is purely additive: this means scalar properties (e.g. boolean, string, int, etc.) will fail when specified multiple times. Collections are merged, however, so two arrays will be concatenated. We chose to use the extension name without the `revapi.` prefix, simply because it's shorter while remaining descriptive. This means all extensions share the same ID, and adding a new `ignored-changes.json` will also require one to do the same. I've updated [the wiki](https://github.com/camunda-cloud/zeebe/wiki/Breaking-Changes) as well to explain this. This will be necessary for #8837 since we will want to add some "breaking" changes (though they aren't ABI breaking). ## Related issues related to #8837 Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
Build failed: |
bors r+ 3 builds, 3 different failures 💪 |
8936: Fixes revapi configuration for merging r=npepinpe a=npepinpe ## Description Fixes revapi configuration to allow merging configurations together. This will let us leverage the CI support for `ignored-changes.json` files, which are for temporary breaking changes which should be removed from the revapi configuration once a new version is released. Essentially, you can split extension blocks across multiple files, but the extension within the same pipeline must have the exact same ID. When they have the same ID, they will be merged. Revapi doesn't do complex merging, the merging is purely additive: this means scalar properties (e.g. boolean, string, int, etc.) will fail when specified multiple times. Collections are merged, however, so two arrays will be concatenated. We chose to use the extension name without the `revapi.` prefix, simply because it's shorter while remaining descriptive. This means all extensions share the same ID, and adding a new `ignored-changes.json` will also require one to do the same. I've updated [the wiki](https://github.com/camunda-cloud/zeebe/wiki/Breaking-Changes) as well to explain this. This will be necessary for #8837 since we will want to add some "breaking" changes (though they aren't ABI breaking). ## Related issues related to #8837 Co-authored-by: Nicolas Pepin-Perreault <nicolas.pepin-perreault@camunda.com>
Build failed: |
Beautiful 👌 Once bors finishes it's current PR, and if nothing is happening, then I'll just merge it. |
Description
Fixes revapi configuration to allow merging configurations together. This will let us leverage the CI support for
ignored-changes.json
files, which are for temporary breaking changes which should be removed from the revapi configuration once a new version is released.Essentially, you can split extension blocks across multiple files, but the extension within the same pipeline must have the exact same ID. When they have the same ID, they will be merged. Revapi doesn't do complex merging, the merging is purely additive: this means scalar properties (e.g. boolean, string, int, etc.) will fail when specified multiple times. Collections are merged, however, so two arrays will be concatenated.
We chose to use the extension name without the
revapi.
prefix, simply because it's shorter while remaining descriptive. This means all extensions share the same ID, and adding a newignored-changes.json
will also require one to do the same. I've updated the wiki as well to explain this.This will be necessary for #8837 since we will want to add some "breaking" changes (though they aren't ABI breaking).
Related issues
related to #8837
Definition of Done
Not all items need to be done depending on the issue and the pull request.
Code changes:
backport stable/1.3
) to the PR, in case that fails you need to create backports manually.Testing:
Documentation: