For some reason, when updating `base-href` using `+=`, yq updates _all_
entries matching the LHS selection. This means that all non-main
branches get `"base-href": "/nixvim/24.11/"` in the job matrix.
This gets passed in as an overridden attr when building the docs, and is
used to determine which list item represents the currently-being-built
docs; therefore both 25.05 and 24.11 think they are 24.11...
For some reason, while `+=` does this, `=` does not. So switched to
using that.
Fix typo `inputs.ref` → `matrix.ref`.
This caused an empty string to be assigned to the checkout action's
`ref` input, meaning it used its default value `github.ref`.
Therefore all "versions" of the docs were actually building `main` 😂
Instead, we actually want to checkout the ref from the job's `matrix`.
Extract the "build" part of building & deploying the docs website into a
`build-docs` composite action.
Refactor the workflow to use a matrix job strategy; allowing each branch
to be built in parallel and in isolation.
In a subsequent job, we combine the builds into a single artifact.