Entry 15
Two install instructions that were not true
FilesREADME.md
The README said:
cargo install cairns # from crates.io
brew install Toyz/tap/cairns # macOS and Linux
Neither works. cairns is not on crates.io - the publish job is deliberately
gated behind a repository variable nobody has set - and Toyz/homebrew-tap
does not exist. Both return 404. I wrote them while writing the release
plumbing, describing what the plumbing would make possible, and never came back
to check whether it had.
That is the same failure as everything else today: stating a thing is so because I arranged for it to be possible, rather than because I watched it happen. A false install line is worse than most, because the person who finds out is a stranger who wanted to try the tool and now thinks it is broken.
The README now offers the two that were tested:
curl -fsSL .../install.sh | sh
cargo install --git https://github.com/Toyz/cairns cairns
The second was run before it was written down. It works, and it reports its
version as 0.0.0-dev, because the repo never claims a release number - the
tag does, and CI applies it to the working tree only. The binary is right and
--version is uninformative, which is a real cost of that design and is now
written next to the command rather than left to be discovered.
whether a source install should be able to know its version at all. git describe in a build script would do it, at the cost of a build script and of behaving differently inside and outside a git checkout.