Running several scripts
Three shapes cover almost everything: a chain that stops at the first failure, a set that runs side by side, and a prerequisite in front of a single script.
A chain that stops at the first failure
The CI shape. Members run one at a time, in order, and the first failure ends the run with its own exit code.
Only one process runs at a time, so each member has the terminal to itself, its output is not
prefixed, and interactive tools behave normally. lint never started, and the group exited with
the code test produced.
A set that runs side by side
The dev-server shape. Output is prefixed with the member that wrote it, in a colour that stays the same for the whole run.
One member failing stops the others by default, taking their whole process trees with them, so a
broken API does not leave a web server running against nothing. The group exits with the code of
the member that failed first. continueOnError: true lets them all finish.
A prerequisite in front of one script
When the ordering belongs to a single script rather than to a new name, use dependsOn. It runs the
listed scripts serially first, and a failure stops the run.
There is no pre and post naming convention. A script that needs something first says so.
Choosing between them
Groups nest. A parallel group can list a serial group as a member, which is how a build sequence
runs alongside a watcher.
Next
Flaky and slow scripts adds retries and time limits to the members. The full field list for both group kinds is in Groups.