* ci: spring cleaning of completions autogen
This commit changes a few things/cleans up stuff:
- Completion and manpage generation now drops the files off in
`./target/tmp/bottom` rather than arbitrarily in the build directory.
This was originally done because I was lazy and just needed it to work
in CI, but it's kinda gross if you want to build the manpages in your
own directory.
- CI was updated to handle this.
- Only run if the `BTM_GENERATE` env var is actually non-empty.
* docs: update for manpage/completion gen
* ci: auto delete autogen comp/manpage dir
* ci: fix incorrect mv for autogen
The mv was too late, should be earlier in the workflow.
* ci: specify shell in autogen delete
* docs: more updates to manpage/comp docs
* ci: unify env vars
* ci: skip autogen on build-msi
action-rs' action seems to not be really maintained anymore and
throws some redundant warnings that kinda clog up outputs. As
such, I feel like moving to a more active action is probably worth it.
Make a note of release sizes in the nightly/deploy scripts. This is mostly just in case I need to refer to it in the future (mainly for nightly, as the actual generated files are overwritten daily).
Disables incremental compilation and debug symbols in CI and other related workflows, since they're not used there at all. Also forces --locked as needed.
This changes various as_ref() calls as needed in order for bottom to successfully build in Rust beta 1.61, as they were causing type inference issues. These calls were either removed or changed to an alternative that does build (e.g. as_slice()).
Functionally, there should be no change.
For context, see:
- https://github.com/ClementTsang/bottom/issues/708
- https://github.com/rust-lang/rust/issues/96074
Adds the asset for the manpage to cargo deb config. Also moves the generated manpage file to a .1.gz file. Also, moves back to a build script since that was causing some issues for the automatic Cargo.toml fields detection for manpage and completion generation.
To prevent compilation from happening every time, and only in CI, we use an env var to avoid generation steps.
Adds manpage generation to the build process, as well as following the xtask concept of adding additional build scripts that only need to run on deploy/nightly as opposed to `build.rs`. Note this doesn't follow the recommended method of using workplaces because I don't really want to shift the entire repo structure just for this.
More on xtask: https://github.com/matklad/cargo-xtask