This commit allows CI jobs to degrade gracefully if Cachix has issues,
by skipping uploads and/or building packages from scratch rather than
failing the job.
This is in response to the recent failures on `master`, which appear to
be caused by a 502 (Bad Gateway) response while uploading some of the
build results.
This will improve CI performance, and may also be used locally,
although this is not officially documented at this time.
I tested the required amount of space by building a `pkgs.linkFarm`
containing all testbeds, then manually pushing this to an empty Cachix
cache.
The total space used was 274 MiB of the 5 GiB free allowance, so
Cachix is good enough to cache at least 20 commits of history,
assuming the worst case scenario of every commit changing
every derivation we build.
Fixes#880
The workflow attempts to skip the deployment step when it is run on other
branches, however environment protection rules are checked before this, causing
a failure.