Lightweight command runner for monorepos. Can run commands on only packages changed against defined root branch
View the script here
``` # Non root user, can only download $ curl https://raw.githubusercontent.com/xtenduke/shivr/main/download.sh | bash
# Root user, can download and install to /usr/local/bin $ curl https://raw.githubusercontent.com/xtenduke/shivr/main/download.sh | sudo bash ```
$ cargo install shivr
```
Usage: shivr [--detect-changes] [--main-branch
Arguments
Options: --detect-changes if shiv should run the command on all packages, or just those changed against main --main-branch main branch name, default "main" --root-dir root dir to run in --package-dir package directory, default "packages" --command command to run on packages --concurrency max number of threads to run, default 1 --help display usage information ```
$ shivr --detect-changes --command build
Config files mapping out commands to package scripts should be configured in all package dirs like so.
Named shiv.json
{
"scripts": [
{
"name": "build",
"run": "yarn build"
}
]
}
setup_test.sh
needs to be run before running cargo test