-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Define compatibility policy for Go libs #2748
Comments
Rotten issues close after 30d of inactivity. /close Send feedback to tektoncd/plumbing. |
Stale issues rot after 30d of inactivity. /lifecycle rotten Send feedback to tektoncd/plumbing. |
@tekton-robot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/remove-lifecycle rotten |
@vdemeester: Reopened this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
/lifecycle frozen |
/reopen Wanted to re-raise this issue for discussion (especially as we near v1) - I think it would be useful to apply deprecation policies to client libraries. For Go in particular, a breaking change to a minor version best case means that tools like dependabot can break and manual intervention is needed by humans to upgrade, and worst case means that tools build on top of Tekton may be incompatible with each other (i.e. if 2 separate libraries depend on different client versions, minimal version selection may force the selection of a non-compatible dependency). We can still make rapid changes to alpha APIs / clients, but for stable APIs it would be great to have more guarantees around stability. |
@wlynch: Reopened this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Planning to incorporate this in #5633 |
This commit updates the Go library compatibility policy with guidelines for Go client libraries for a particular CRD version. The guidelines are based on the discussions in tektoncd#5634, tektoncd#2748, and in the API WG on Oct 10, 2022. Co-authored-by: Lee Bernick <[email protected]> Signed-off-by: Dibyo Mukherjee <[email protected]>
This commit updates the Go library compatibility policy with guidelines for Go client libraries for a particular CRD version. The guidelines are based on the discussions in tektoncd#5634, tektoncd#2748, and in the API WG on Oct 10, 2022. Co-authored-by: Lee Bernick <[email protected]> Signed-off-by: Dibyo Mukherjee <[email protected]>
This commit updates the Go library compatibility policy with guidelines for Go client libraries for a particular CRD version. The guidelines are based on the discussions in tektoncd#5634, tektoncd#2748, and in the API WG on Oct 10, 2022. Co-authored-by: Lee Bernick <[email protected]> Signed-off-by: Dibyo Mukherjee <[email protected]>
This commit updates the Go library compatibility policy with guidelines for Go client libraries for a particular CRD version. The guidelines are based on the discussions in tektoncd#5634, tektoncd#2748, and in the API WG on Oct 10, 2022. Co-authored-by: Lee Bernick <[email protected]> Signed-off-by: Dibyo Mukherjee <[email protected]>
This commit updates the Go library compatibility policy with guidelines for Go client libraries for a particular CRD version. The guidelines are based on the discussions in tektoncd#5634, tektoncd#2748, and in the API WG on Oct 10, 2022. Co-authored-by: Lee Bernick <[email protected]> Signed-off-by: Dibyo Mukherjee <[email protected]>
This commit updates the Go library compatibility policy with guidelines for Go client libraries for a particular CRD version. The guidelines are based on the discussions in tektoncd#5634, tektoncd#2748, and in the API WG on Oct 10, 2022. Co-authored-by: Lee Bernick <[email protected]> Signed-off-by: Dibyo Mukherjee <[email protected]>
Expected Behavior
We try to minimize the impact of changes to our Go libs on other projects that are using them, for example in #2717 (comment) when @pritidesai noted the impact of that change on the CLI.
It would make sense to have a clear policy around:
Actual Behavior
We have our API compatibility policy outlined in https://github.com/tektoncd/pipeline/blob/master/api_compatibility_policy.md but it does not currently include our client libs.
Additional Info
If we can identify which parts of the code we think it is reasonable for folks to import and use as libs, we can move the rest into internal and that would make it very clear which code you can change without impacting other projects.
The text was updated successfully, but these errors were encountered: