magus v0.4.3 is out. See what's new
¶ View markdown source · ✎ Suggest an edit
1 min read

output-pipe

A deny rule: it refuses magus output piped into a filter, when magus projects the record itself, and names what to run instead.

What it catches

Magus output piped into a filter, when magus projects the record itself.

Why

magus projects its own record, so the filter is answering a question the command takes a flag for: -o name for ids, -o json for the whole record, -o template='{{.field}}' for one field, -s to silence progress. The half a reader cannot discover by trying again is the exit status: a pipe takes it from the LAST stage, so a failing magus reads as exit 0 and nothing says so.

Seeing it

A verdict names its rule in brackets, which is how you got here:

deny [output-pipe]: ...

magus describe rule output-pipe prints the same entry at a terminal, and magus describe rules lists every rule this workspace enforces.

See also

  • All rules - what this workspace enforces, deny first
  • The guard - how a verdict is reached and wired
guardrulesoutput-pipedeny
Last updated (d966bfce)
Glossary

Workspace

The magus root directory that owns a set of projects and shared config; the unit magus operates over. See workspace.

Project

A directory magus recognizes as a unit of work (it has a magusfile); the unit of caching, scheduling, and dependency tracking. See workspace.

Run

One target executing under one magus invocation, such as magus run test web or magus affected ci. A run keeps its captured output behind an output reference. Every magus run is a run whether or not any job asked for it; see Job for how the two relate.

Conventions

This page uses none of the site's convention markers. The full set is on the conventions page.