-
Notifications
You must be signed in to change notification settings - Fork 594
Description
(Note: this issue is a personal perspective and does not represent a stance of the OCI TOB)
869b2d5 changed LinuxPid from int64 to *int64. While the description in the commit is logical, the effect is that this creates a cascade across ecosystem packages that depend on the runtime-spec's Go types. Here is a sampling of issues:
client: clarify and rename(this was some copy-paste error, not sure what the link was I had intended to include)WithRootFScontainerd/containerd#1249- deps: bump runtime-spec to v1.3.0. containerd/nri#243
- runtime-spec: bump to v1.3.0, fixup for backward incompatible linux PIDs limit type change . runtime-tools#795
- build(deps): bump github.com/containerd/cgroups/v3 from 3.1.0 to 3.1.1 containerd/containerd#12465
- Bump github.com/opencontainers/runtime-spec from 1.2.1 to 1.3.0 NVIDIA/nvidia-container-toolkit#1423
- fix(deps): update module github.com/opencontainers/runtime-spec to v1.3.0 containers/container-libs#437
- Update module github.com/opencontainers/runtime-spec to v1.3.0 containers/podman#27440
It may be too late to unwind the change in 1.3.0 (and revert in 1.3.1?), but this was certainly a breaking change from a Go library perspective even if it wasn't from an actual spec perspective. Since this repo serves as both the home for the spec (and versions the spec according to semver) and the Go library, it's possible to introduce breaking changes in one but not the other.
I think it would be helpful to either (a) create a policy regarding the level of acceptability for breaking changes in the Go library, or (b) separate the Go library from the spec so it can be versioned independently, or (c) discourage the use of this official Go library.