Running Pipelines
repos run executes a script inside each repository listed in your repos.list file. This lets you run a build, test, or any other task across your entire workspace with a single command.
Basic Usage
By default, repos run looks for a file called run.sh in each cloned repository and executes it:
repos runOptions
| Flag | Description |
|---|---|
--script <file> |
Run a different script (default: run.sh) |
-f <file> |
Use a different list file (default: repos.list) |
--include <repos> |
Comma-separated list of repositories to include |
--exclude <repos> |
Comma-separated list of repositories to skip |
--continue-on-error |
Keep running even if a repository fails |
--dry-run |
Print what would be run without executing anything |
--ensure-setup |
Clone repositories before running the pipeline |
# Run a custom script in each repo
repos run --script build.sh
# Only run in specific repos
repos run --include "backend,frontend"
# Skip a repo
repos run --exclude "docs"
# Continue even if one repo fails, then report all results
repos run --continue-on-error
# Preview without running
repos run --dry-run
# Make sure repos are cloned before running
repos run --ensure-setupWriting a Pipeline Script
Each repository should contain the script that repos run will call. The script receives no arguments by default, but can read environment variables or accept flags if needed. A minimal run.sh:
#!/usr/bin/env bash
set -e
# Install dependencies
Rscript -e "renv::restore()"
# Run analysis
Rscript analysis.RR and Python APIs
For the R or Python API, see the language-specific wrapper pages: