* Add `(nix)` as a prefix to the bash prompt
Make it clearer when you're in the terminal vs. not.
* bash prompt prefix: put the project's name in the terminal
* Blame our installer for the nix.conf
* fixup: adding the version to the nix.conf
* force a space after the prefix
* Try extra-conf with a heredoc
* Test case
* Other test case
* heredoc in yaml goes burr
* use special bash syntax for newline
* Correctly close quotes
* Remove testing symbols
* Use file method
* unwhoops jobs
* 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
* CreateOrAppendFile: setuid safety
* Apply a sensible default mode if the file didn't already exist
* remove some incorrect docs
* Implement CreateOrInsertFile and use it instead of Append for shell rcs
Ubuntu's bashrc has the following lines in it:
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
This means that anything appended to the file will only take effect in
interactive sessions. However, we want noninteractive shells to have
Nix on PATH too, e.g. for remote builds. Therefore, we need to add our
snippet to the beginning of the file, not the end.
* Adjust test fixtures to match new behaviour
* interaction: indicate default for confirm correctly
* CreateOrInsertFile: use randomised temporary filename
* Fix temp file creation
* Apply permissions to temp file, not final file
The final file may not exist, and the temporary file is the one whose
permissions will actually be preserved.
* Use the right ActionError for renaming
* Test the SSH behaviour properly
* cargo fmt
* [DS-574] Write to zshenv instead of zshrc
* CreateOrInsertFile -> CreateOrInsertIntoFile
Also move appending behaviour in here.
* Update Linux fixtures
* update darwin-multi fixture
* fix fixture
* fmt
* 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.