Symptom
nix run github:overengineeringstudio/effect-utils/42d338478ca854a9c88b87b6eff8f645a3639dd2#megarepo -- apply --all --skip schickling-beads --skip overeng-beads
fails with:
Received unknown argument: '--skip'
Error: {"_tag":"InvalidValue","error":{"_tag":"Paragraph","value":{"_tag":"Text","value":"Received unknown argument: '--skip'"}}}
But mr apply --help from the same binary advertises the flag:
$ apply [(-o, --output ...)] [--dry-run] [(-f, --force)] [--all] [--only text] [--skip text] [...]
Reproduces with --skip foo --skip bar (space-separated) and with a single --skip value. --skip=value syntax either succeeds silently or triggers the actual apply path.
Impact
schickling/megarepo-all's applyMegarepoLockStep genie helper emits --skip foo --skip bar:
https://github.com/overengineeringstudio/effect-utils/blob/main/genie/ci-workflow.ts (search applyMegarepoLockStep, skipArgs = opts?.skip?.flatMap((s) => ['--skip', s]).join(' '))
Using applyMegarepoLockStep({ skip: [...] }) in downstream genie configs therefore crashes CI.
Workaround
Downstream repos must not pass skip to applyMegarepoLockStep until this is fixed, or must hand-write the CI step using --only (which works with space-separated args) or --skip=... syntax.
Suggested fix
Either:
- Fix the CLI parser to accept
--skip foo --skip bar form (matches the help output and the --only behaviour); or
- Update
applyMegarepoLockStep in genie to emit the --skip=foo form the CLI actually accepts.
Related
- schickling/megarepo-all#80 (PR that hit this)
- schickling/megarepo-all CI has been red on main for this reason (beads auth errors block
mr apply --all)
Filed by an AI assistant on behalf of @schickling
Symptom
nix run github:overengineeringstudio/effect-utils/42d338478ca854a9c88b87b6eff8f645a3639dd2#megarepo -- apply --all --skip schickling-beads --skip overeng-beadsfails with:
But
mr apply --helpfrom the same binary advertises the flag:Reproduces with
--skip foo --skip bar(space-separated) and with a single--skip value.--skip=valuesyntax either succeeds silently or triggers the actual apply path.Impact
schickling/megarepo-all'sapplyMegarepoLockStepgenie helper emits--skip foo --skip bar:https://github.com/overengineeringstudio/effect-utils/blob/main/genie/ci-workflow.ts (search
applyMegarepoLockStep,skipArgs = opts?.skip?.flatMap((s) => ['--skip', s]).join(' '))Using
applyMegarepoLockStep({ skip: [...] })in downstream genie configs therefore crashes CI.Workaround
Downstream repos must not pass
skiptoapplyMegarepoLockStepuntil this is fixed, or must hand-write the CI step using--only(which works with space-separated args) or--skip=...syntax.Suggested fix
Either:
--skip foo --skip barform (matches the help output and the--onlybehaviour); orapplyMegarepoLockStepin genie to emit the--skip=fooform the CLI actually accepts.Related
mr apply --all)Filed by an AI assistant on behalf of @schickling