Use variables (including Version) with multiple packages
There should be a way to use Knope's variables, including Version, with multiple packages.
[old description]
Since determining the version of a package is nontrivial, and it's often useful in scripts (e.g. in CI), I think it would be a great feature if Knope could detect the current version(s) of packages and print that, without doing anything else.
Users could probably parse this information out of knope release --dry-run, but that's a bit awkward.
The primary use case I'm thinking of is to replace stuff like git describe --abbrev=0 --tags | sed 's/v//', so the output must be easy to parse. For a standard, single package, it could just print the version it finds; for multiple packages, it could print <name>=<version>, one on each line. Just like release, when a package has multiple versioned files and their versions don't match, it should just print an error of some kind.
For single packages, this would work today:
[[workflows]]
name = "print-version"
[[workflows.steps]]
type = "Command"
command = "echo $version"
variables = { "$version" = "Version" }
For multi-package setups, we'd have to decide on something new. We really need a way to use variables with multiple packages anyway 😅.
Would you want all versions in a single workflow (output with JSON maybe?) or run a specific workflow to get a specific package version?
(I guess my suggestion is exactly what you had in #885)
I completely forgot I had asked for that, and didn't see it in the issues list when I searched 😅
Converting this issue to specifically figure out outputting versions for multiple packages (since #885 / #994 will cover the single-package case)
I've updated the issue title & description accordingly.