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:
- GHManage asks which branch to run on.
- 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.
- 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.
- 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:
- which jobs failed, at which step, after how long; jobs that were cancelled, usually because another failed first, are named on one line rather than reported as failures;
- what GitHub flagged in each: the errors shown as annotations on the run’s page, such as “Process completed with exit code 1.”, or a failing test’s file and line;
- the last 40 lines of each failed step’s log, where the error usually is. Some repositories’ logs don’t say where one step ends and the next begins; then it is the end of the job’s log, and the report says so.
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.