Some possible alternatives to this:
- Keep putting them in PATH.
- Make xtask a nix derivation. We would lose out on incremental
compilation this way, and would end up recompiling xtask from scratch
whenever something in the main package changed.
- Have xtask call `nix build --inputs-from $toplevel nixpkgs#go` and
such. Slow and tedious.
This adds some new tools in CI for lint the book and also sets up
automated deployment to GitLab Pages. Also adds a readme that suggests
reading the book, since that's where all the information will be.
Without setting JEMALLOC_OVERRIDE, we end up linking to two different
jemalloc builds. Once dynamically, as a transitive dependency through
rocksdb, and a second time to the static jemalloc that tikv-jemalloc-sys
builds.
This fixes dynamically-linked jemalloc builds, for the reasons described
in <https://github.com/girlbossceo/conduwuit/pull/400#issue-2316700200>.