* upload_s3: provide git ish as argument
$GITHUB_SHA isn't the actual PR's HEAD's SHA, but a merge commit or
something.
* upload_s3: use an empty object if the file doesn't exist on s3
It's not pretty, but it works, and the md5sum of a file should never be
"null".
* release-branches: upload to `branch_${name}` instead
* release: init action to release first party PRs
* release: check if revision has already been uploaded
We don't want to waste bandwidth on files that already exist.
* release: consolidate s3 uploading into single script; check if artifact already uploaded
* release: only upload release for PR if it has the "upload to s3" label
* release: create releases for specified branches
* release: split action into one for branches, one for tags
* release: change the NIX_INSTALLER_BINARY_ROOT upon release
This way, we can be sure we use the right binaries to match the script.