ginkgo icon indicating copy to clipboard operation
ginkgo copied to clipboard

Support semantic version filter for multiple components

Open Icarus9913 opened this issue 1 month ago • 5 comments

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.

Icarus9913 avatar Nov 25 '25 05:11 Icarus9913

Hey @onsi , any ideas or concerns on your side?

Icarus9913 avatar Nov 25 '25 05:11 Icarus9913

--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.

pohly avatar Nov 25 '25 07:11 pohly

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!

onsi avatar Nov 25 '25 16:11 onsi

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?

onsi avatar Nov 25 '25 16:11 onsi

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 :)

Icarus9913 avatar Nov 26 '25 03:11 Icarus9913