Changes
Add file output to foreach command @rnorth (#141)
When running turbolift foreach
there are several frequent use cases that were more difficult than they should have been:
- reviewing the logs on a per-repo basis - logs were previously only in one giant scrollback
- reviewing just failure or just success logs
- (very often) gathering the names of the repos where the command succeeded or failed - for example, when running foreach to run tests
Now turbolift foreach
:
- Creates a temp directory each time it's run, which will likely exist until system reboot
- In that directory creates the following structure, where org/repo/logs.txt is repeated for every repository (mirroring the structure of the work directory):
some-temp-dir
\ successful
\ repos.txt # a list of repos where the command succeeded
\ org
\ repo
\ logs.txt # logs from the specific foreach execution on this repo
....
\ failed
\ repos.txt # a list of repos where the command succeeded
\ org
\ repo
\ logs.txt # logs from the specific foreach execution on this repo
....
Some notable points:
- the emitted repos.txt files are suitable for replay back into turbolift using the -r option
- we don't stop the current logging to terminal output - this is mainly for backwards compatibility
Other changes
- Bump golangci/golangci-lint-action from 6.0.1 to 6.1.0 @dependabot (#142)
- fix(clone): provide helpful message when fork conflicts cause an error @Dan7-7-7 (#139)