Skip to content

Remove unions logic, keep schema components #255

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

Merged
merged 1 commit into from
Oct 26, 2023

Conversation

apelisse
Copy link
Contributor

@apelisse apelisse commented Oct 24, 2023

This removes the generally unused union code from the library in a
non-backward incompatible way since the API was not used anyways. The
schema isn't changed since we don't want to break existing schema (the
unions fields will continue to be just ignored).

cc @alexzielenski @liggitt

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Oct 24, 2023
@k8s-ci-robot k8s-ci-robot requested a review from jpbetz October 24, 2023 20:58
@k8s-ci-robot k8s-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Oct 24, 2023
@apelisse
Copy link
Contributor Author

I tested this code along with #254 and the tests are now working.

@liggitt
Copy link
Contributor

liggitt commented Oct 25, 2023

We keep the whole API surface intact to stay within the same major release of structured-merge-diff even though the union code will now panic if used in any place

is this to satisfy an APIDiff-type check, or do we really want to let someone using this code continue to compile successfully and then panic them at runtime?

I can't find any uses of these symbols in kubernetes/kubernetes or on github at all (using grep.app). Would it be better to remove them?

This removes the generally unused union code from the library in a
non-backward incompatible way since the API was not used anyways. The
schema isn't changed since we don't want to break existing schema (the
unions fields will continue to be just ignored).
@apelisse apelisse changed the title Remove unions logic while keeping the API Remove unions logic, keep schema components Oct 25, 2023
@apelisse
Copy link
Contributor Author

I can't find any uses of these symbols in kubernetes/kubernetes or on github at all (using grep.app). Would it be better to remove them?

Removed them. It's obviously better to remove them but I had a hard time convincing myself I could remove these fuctions without bumping the major version which I'm not ready to do (and makes backporting the change more difficult).

@liggitt
Copy link
Contributor

liggitt commented Oct 26, 2023

/lgtm
/approve

update the title/description to match where this ended up

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 26, 2023
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: apelisse, liggitt

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot merged commit e0346c0 into kubernetes-sigs:master Oct 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants