guigrpa / oao

A Yarn-based, opinionated monorepo management tool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Undesirable auto-parallel `oao run-script` in 1.5.0 version

IhostVlad opened this issue · comments

After publishing oao version 1.5.0, commands oao run-script and oao all becomes auto parallel. It perform execution in multiple threads, even if --parallel flag is absent, or --tree is used. Flag --parallel-limit also does not work.
Performing parallel execution causes oao run-script does not work at all, since commands MUST be executed sequentially.
Now solved in project by rollback to 1.4.1 version, but 1.5.0 is totally unacceptable.

For example: --parallel-limit=1 (serial start) does not work

It will be fixed, but calling a release "unacceptable" is indeed unacceptable in an open-source project..

@guigrpa Thanks! Not problem that something does not work, or some bugs are appeared - of course!
Main problem that notation breakes semver, and every CI, which uses "oao:" "^1.4.0" will crash on functional tests, since they can't usually be run in parallel.
Since it Breaking change, and problem is not obvious, it's potentially danger. It's partially npm responsibility, which install packages by default with CARET notation. Of course, TILDE or EQUALS notation can solve it, but it's can happen by default (Sorry for misaccurate description of unacceptability :)

The intention was not to change default behaviour: serial execution by default. Apparently a bug sneaked into the serial job runner, sorry for that! But a bug by itself is not a breaking change… :)

In principle, it should be corrected in v1.5.1, but please reopen if needed. I look forward to your feedback!

(just shipped v1.5.1)

Also note that if you use yarn.lock (yarn) or package-lock.json (npm) you should be fine even if some dependency is updated.