* ci: update upload-artifact to v4.3.0 and download-artifact to v4.1.1
* fix rpm/deb
* add exception for quay; idk what I'll do once node support is gone
* fix broken script
* fix download
* migrate 2-17 to cirrus to avoid node deprecation warnings
* prevent cirrus cancellation
* update cache to work with linux
* simplify cache
* update some comments
* add timeouts
* ci: add a build check for aarch64-linux-android
* appease clippy
* use 1.67.0 for Android due to NDK issue
* remove sparse since it is default now for 1.70 and causes issues with older versions anyway
This automatically triggers and grabs the build artifacts for systems that are only supported on Cirrus CI (as of now, FreeBSD and M1 macOS).
* ci: add cirrus build trigger script
* ci: modify build scripts to include cirrus build
* fix some stuff
* update docs
* more fixes
* ci: update rust-cache to 2.0.1
* ci: update dtolnay/rust-toolchain to ba37adf
* ci: update skip-duplicate-actions to v5.2.0
* ci: update ClementTsang/cargo-action to v0.0.3
* ci: update to macos-12
* ci: update ghaction-chocolatey to 2.1.0
* ci: update upload-artifact to v3.1.0
* ci: change from actions-rs to rustsec for audit-check
* ci: stop using actions-rs for builds
* ci: update cirrus to use tlsv1.2 when curling
* ci: disable macOS ARM workflows on GHA since its built on Cirrus
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.
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
This was causing issues with the choco workflow in another repo since
the name was incorrect; I've decided to also rename the template for
consistency.
In a similar vein to #590, we only create a release after the entire pipeline is completed and succeeds. Also fixes some incorrect job names and adds some "/'s" after directory names in the nightly pipeline.
Changes the nightly build workflow to delete/create a new release *only* if the entire build process passes. This avoids a potential case of a nightly build failing but having overwritten the old one, which has happened before.
After this change lands, similar changes will probably be made to the deployment script for releases.
Adds a `ProductCode`, `Scope`, and `Commands` field to the template, as well as additional changes to the deploy process to determine + fill in the `ProductCode` automatically.