* Publish version-tagged thevlang/vlang images, and point the README at them
The release job published only floating tags (`latest`, `debian`, `alpine`,
and `:debian-dev`/`:alpine-dev`), all built from V master, so
`thevlang/vlang:latest` never meant a specific V version and there was no tag
to pin a project to. Nothing else in this repository could publish one either:
the Dockerfiles do not take a revision to build.
Two changes, one in each direction:
hub_docker_ci.yml now passes `V_REV`, so `thevlang/vlang:0.5.2` is built from
V 0.5.2 and not from whatever master was on the day. Every Dockerfile in
vlang/docker that clones V takes that arg, so the tag and the contents agree
for the first time. The matrix gains `nix` and `static`, matching the nightly
workflow, and the whole job gets `fail-fast: false` so a broken variant does not
stop the others publishing. It also grows a `workflow_dispatch` input so a
release image can be rebuilt without cutting a tag.
The README's Docker section still told you to clone V and build an image
yourself as the first option, which is no longer the intended path now that
official images exist for four variants across two architectures. It leads with
the published images and the variant table instead, keeps the local build as
the alternative, and mentions that Podman reads the same Dockerfiles.
`ubuntu` stays out of the release matrix deliberately: `:ubuntu-build` and
`:ubuntu-base` exist only because docker_ci.yml runs its jobs in them, and are
built by vlang/docker's build_ubuntu.yml.
Not verified here: the images themselves. Docker Hub is geo-blocked from this
machine, so `:nix` and `:static` have never been built - they are assembled
from recipes that were verified in parts on Debian and Alpine, and the version
tagging was verified by resolving every expression by hand for each matrix
value. `check-md README.md` passes.
* docker: skip the nonexistent static developer image recipe
* ci: validate release tags before generating Docker image tags
* ci: align release tag trigger and static image documentation
* ci: prepare pinned release image recipes and clarify publication
* ci: pin a source-compatible bootstrap for release images
---------
Co-authored-by: Alexander Medvednikov <alexander@medvednikov.com>