Jobs and steps on GitHub

A GitHub Actions run's jobs as a graph, a job's whole log, and the output of one step.

A GitHub Actions run has no stages. Its jobs are drawn as cards, joined the way the workflow’s needs: joins them, so you can see what waited for what, and what never ran because something it needed had failed.

lint and build ran at the same time, test needed build, and package, which needed lint and test, was skipped when test failed.

The graph

Innesta reads the workflow file at the run’s commit for each job’s needs:. A job sits to the right of the jobs it needs, with a line from each of them, and jobs that need nothing make the first column.

A job whose dependencies cannot be worked out is left unconnected, and a note says Some job dependencies are unavailable. That happens, for example, in a run started by a pull request, for a job expanded from a matrix, or with a token that cannot read the repository’s contents.

When a run opens, the job that failed or is still running is selected, or else the first, and its log is under the graph. Select another card to read that job instead. Run Details starts folded to make room; it holds the run’s commit and timeline, as on any other run.

The whole log

GitHub makes a job’s log available once the job has finished, and a finished log opens at the top.

  • The bar above it names the step you are reading, and its arrows jump to the Previous step or the Next step.
  • The runner’s groups can be folded, each from its own triangle.
  • Error, warning and notice lines start with a symbol instead of the runner’s marker.

One step at a time

Turn off Full Job Log and the job’s steps are listed instead, each with its status and how long it took. Open a step to read only its output.

The step that failed, and only its own output.

Where GitHub has no separate log for a step, Innesta splits the job’s log by step, but only when every step can be matched to its part of the log. When one cannot, the step links to GitHub rather than showing output that might belong to another step.