`sha1` isn't a very accurate description of what this value can be
because it can be any git commit reference. For example, `brew test-bot`
uses `brew update-test --commit=HEAD`.
Loosen this a bit; we don't necessarily expect the end commit is the one
we're looking for, just that it has changed from the start commit (i.e.
some sort of update has occurred).
Addresses some false negatives on `master` branch merges that weren't
present on the PR commits.
Also enables sandbox for --interactive and --debug use of install
and test, using automatic retention.
Closes#66.
Signed-off-by: Andrew Janke <andrew@apjanke.net>
To use origin/master as start commit
brew update-test
To use <sha1> as start commit
brew update-test --commit=<sha1>
To use commit at <date> as start commit
brew update-test --before=<date>
Also print start/end commit for debug purpose
The .git directory in BrewTestBot is huge(1GB) which results to poor
performance of `brew update-test`. Therefore, let's use `git clone
--local` here which will create hard symlink to boost performance.
ClosesHomebrew/homebrew#44005.
Signed-off-by: Xu Cheng <xucheng@me.com>
Previously, `brew update-test` is run against master branch of local
repo. However, we test PR using a detached branch in `brew test-bot`.
The result is `brew update-test` will always be up-to-date in `test-bot`.
To fix it, we create two local copies of git repo, and set master branch
to start and end sha1 correspondingly. After that, `brew update` will be
run to simulate the change between start and end sha1.
ClosesHomebrew/homebrew#43902.
Signed-off-by: Xu Cheng <xucheng@me.com>