Workflows and Workflow Runs

Workflows

Workflows (Ctrl+6) lists the repository’s GitHub Actions workflows: each one’s name, whether it is active, and its file.

Enter runs the selected workflow on a branch you choose. So does Actions → Run Workflow on Branch…, and Run on branch… on the context menu. It goes like this:

  1. GHManage asks which branch to run on.
  2. It reads the workflow file on that branch to find out whether it can be run by hand, and what inputs it takes. The branch comes first because a branch can add or change inputs, and the form has to match the branch that will run.
  3. If the workflow takes inputs, a form asks for them, laid out as GitHub’s own Run workflow form is: a list to choose from, a checkbox, or a box to type in, each labelled with the input’s description and with its default filled in. Required inputs say “(required)”, and OK will not go ahead while one is empty; it says which one and puts you in it. A workflow with no inputs skips this step.
  4. The run starts, and the status bar says so: “Started ‘Build’ on main. Switch to Workflow Runs and refresh to watch it.”

A workflow can only be run by hand if its file has an on: workflow_dispatch trigger. If it does not, GHManage tells you so and runs nothing.

Workflow runs

Workflow Runs (Ctrl+7) lists recent runs: the workflow’s name, its status (queued, in progress or completed), its result, the branch and the date. View → Columns adds the event that started it and the run number.

Key Action
Enter List the run’s artifacts
J List the run’s jobs, with their steps
L Show what failed
E Rerun it: every job, or only the ones that failed
X Cancel it, while it is queued or running
Ctrl+D or Delete Delete the run, after asking
Ctrl+O Open the run on GitHub

Deleting a run cannot be undone, and the question says so. On a Mac keyboard, use Cmd+D. J, L, E and X work from the details panel too, and are on the Actions menu as Show Jobs, Show What Failed, Rerun… and Cancel Run….

What failed

L on a failed run gathers what you would otherwise hunt for across the run’s page and its logs, into one text to read from the top:

A run that failed before any job started, because of a mistake in the workflow file or because it is waiting for someone to approve it, says that instead.

Logs are tidied for reading: no colour codes or other terminal control codes, no timestamp on every line, GitHub’s error and warning markers read as “ERROR:” and “WARNING:”, and the commands it ran as “Command:”. Warnings that are not failures are left out. On a run that succeeded, L just says so.

Jobs

J on a run lists its jobs: each job’s name, status, result, how long it took and the step that failed, if one did. The details panel lists every step with its result, “Step 4, Run tests: failure”. Enter on a job opens its whole log, with the cursor on the first error when there is one; a very long log keeps its last 20,000 lines. A skipped job has no log, and a running one’s log is ready when it finishes; GHManage says so rather than opening an empty window. L, E and X work here on the run the jobs belong to. Backspace returns to the runs.

Rerun and cancel

E asks how to rerun a finished run: Rerun failed jobs only, offered when something failed, or Rerun all jobs. X cancels a run that is queued or in progress, after asking. Either way the list refreshes itself a few seconds later, once GitHub shows the change.

Artifacts

A run’s Artifacts list shows each file the run saved, with its size, whether it has expired, and when it was made. Enter, Actions → Download Artifact…, or Download… on the context menu asks which folder to save it in and downloads it there. The status bar says “Downloaded ‘build’ into C:.” when it is done.

GitHub deletes artifacts after a while. An expired one is marked in the list, and GHManage says it can no longer be downloaded rather than trying.

Backspace returns to the runs.