seqpar
seqpar is a batch executor run in sequential & parallel.
It's easy to create efficient build process.
Install
npm i -g seqpar
Requirement
- Node.js 6+
Defint first batch file
All batch files are named in {GROUP}_name(.{ext})
(e.g. 000_init.js
, 01_lint.sh
, 999_failover
).
#!/usr/bin/env bash echo 'Hello, seqpar!'
console
Executable order and parallelism
Same GROUP
run in parallel, different group run in sequential.
000_init
010_bootstrap_npm <- Run in parallel
010_bootstrap_pods <- Run in parallel
010_bootstrap_cargo <- Run in parallel
020_lint
030_build
040_tag <- Run in parallel
040_generate_changelog <- Run in parallel
040_prepublish <- Run in parallel
999_publish
Usage
seqpar [DIRECTORY]
Options:
--help Show help [boolean]
--version Show version number [boolean]
-p, --concurrency Specify the maximum number of concurrency
[number] [default: 4]
-b, --bail Bail after first test failure [boolean] [default: true]
-r, --recursive Include sub directories [boolean] [default: false]
--reporters Specify the reporter to use [default: ["file"]]
--runtimes Use the given runtime(s) to execute files
[default: ":bash,bash:bash,js:node"]
Examples:
seqpar 'scripts/**/*.js' Using glob pattern
seqpar --recursive scripts Using recursive flag
seqpar --no-bail 'scripts/**/*.js' Run all process even if one or more
process returns not-zero status
seqpar --concurrency=2 scripts Specify concurrency
seqpar --runtimes=':sh,coffee:coffee,ts:ts-node' scripts
For more information, find our manual at https://github.com/Leko/seqpar
Contribution
seqpar welcomes all contributions from anyone.
- Fork it
- Run
npm install
- Commit your changes
- Send pull request to
master
branch