Support Helm semver encoding in OCI repositories
(See also the related https://github.com/fluxcd/flux2/issues/4674, which gave me the hint I needed.)
I'm attempting to use a Helm chart with versions like 0.20250616.4188+ref.2dec694 (which gets encoded as the tag :0.20250616.4188_ref.2dec694) with the instructions here: https://fluxcd.io/flux/cheatsheets/oci-artifacts/#helm-oci
Unfortunately, because 0.20250616.4188_ref.2dec694 is not a valid semver, I get the error message:
failed to determine the artifact tag for 'oci://ghcr.io/mindersec/minder/helm/minder': no match found for semver: >0.0.1
Based on the documentation at https://helm.sh/docs/topics/registries/#oci-feature-deprecation-and-behavior-changes-with-v380 and the discussion at https://github.com/opencontainers/distribution-spec/issues/154, it seems plausible to assume that replacing _ with + (one time) when parsing semantic versions from tags is a reasonable thing to do. I'd be willing to discuss fetching the annotations for all the OCI manifests, but I suspect that's undesirable from an efficiency point of view. I'd also be willing to add a verification of the org.opencontainers.image.version annotation on the actually selected tag, but I was trying to minimize the amount of load Flux induces while supporting build metadata in semver.