Support semantic version filter for multiple components
Currently, semantic version filter feature only allow you pass a version and let the SemVerConstraint to match it. If you have multiple components with different version, you can't achieve it.
So, one draft idea from @pohly is ginkgo --sem-ver-filter="kubelet=1.35.0, kube-apiserver=2.3.4, etcd=3.4.5".
For the SemVerConstraint, maybe we can have something like SemVerConstraint(">= 3.2.0").WithComponent("kubelet")
We can consider more about this feature request.
Hey @onsi , any ideas or concerns on your side?
--sem-ver-filter="kubelet=1.35.0, kube-apiserver=2.3.4, etcd=3.4.5
That seems easy enough to parse. Please also allow a trailing comma (--sem-ver-filter="kubelet=1.35.0,). It's easier to compose such a string when each component may be followed by a comma, regardless whether it is the last entry or not.
SemVerConstraint(">= 3.2.0").WithComponent("kubelet")
Or ComponentSemVerConstraint("kubelet", ">= 3.2.0") - no strong opinion from me either way. We might end up wrapping it in Kubernetes anyway, so it might not matter at all for us.
hey @Icarus9913 this looks good to me - no concerns at all and happy to defer to you to build it out if you have the time!
i suppose one thing to call out: give the usecase we believe it's sufficient to simply support AND with a comma separated list. agreed?
Give me some time to think about the design to make sure the simplicity and availability. By the way, this feature request will not be implemented soon as I'm super busy with my job at the end of the year.
I'll try my best to delivery it :)