I think I’ve found a bug, but I’ve got a workaround. I’m using OD 3.3.6.
I’ve got two release channels - develop (with a tag of “develop[^-]”) and stable (with a tag of “^$”).
I changed the package name in one of the steps, and noticed that the develop channel started pushing the stable package (foo-0.1.0.123) instead of the develop package (foo-0.1.0-develop123). I then saw that in the channel config, that step was missing the package name in both of the channels. So I’m guessing that it wasn’t matching the tag for the develop channel, and so was using the highest semver package, which happens to be the stable package.
Deleting the step from the channel and adding it again has worked - the channel config shows the package name and deploying on the develop channel uses the develop package.