Skip to content

Actions: Matched GitHub's run list, sidebar, job steps and job graph - #100

Merged
whereareiam merged 1 commit into
devfrom
feat/actions-github
Oct 22, 2026
Merged

whereareiam merged 1 commit into
devfrom
feat/actions-github

Conversation

@whereareiam

@whereareiam whereareiam commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

What changes

The Actions pages now match GitHub, compared signed in against the same runs (two CI runs where test needs build, one failing, a release, and a five-job workflow with fan-in and fan-out) at 1440, 1000 and 375px.

Run list

Area Before After (GitHub)
Layout Own two-column layout, "Actions" title and a green New workflow button in the sidebar The shared sidebar layout from the Issues page: All workflows with a home icon, a "Workflows" group, Runners at the bottom for administrators, Collapse sidebar; the list is centred beside it
Heading Regular-weight title, filter field top right Semibold title with New workflow (default button) on the right, subtitle, full-width filter below
Box header 64px, count in the main text colour 48px, count muted
Rows 78px, semibold title, "ci.yml #2 - Commit 9dac64a117" with underlined grey links 67px, title weight 500, "ci.yml #2: Commit 9dac64a" with blue commit and actor links, 22px branch label, 32px "…"

Run and job

Area Before After (GitHub)
Back link "← ci.yml" text arrow with 8px below GitHub's arrow icon, 4px gap and padded hover area; 30px title line
Header actions Red "Delete run" button beside Re-run Re-run all jobs and a "…" menu with Workflow file and Delete run (Forgejo's own confirmation)
Steps Green check on every finished step, 40px rows Grey check for finished steps, red for failures, 36px rows
Failed job All steps collapsed Opens on the failing step
Open step Box-header background GitHub's active console background
Job list Durations beside each job No durations; the summary's job cards keep them
Summary Status and a job count Status and Artifacts ("–" when there are none)
Job graph One card per job side by side, no links GitHub's stages from each job's needs: 260px cards 56px apart, dots on the linked edges, 2px links with 12px rounded bends; jobs without links stacked in one card; hovering a job turns its links blue and dims unrelated jobs; scrolls sideways on narrow screens
Phones The log search covered the job's status line The search moves under the title

Job graph

Forgejo's run data has no job dependencies, so the summary reads name and needs from the workflow file at the run's commit (/raw/commit/…). If it can't be read, the jobs have no links and share one card, which is how GitHub shows a workflow without needs. Matrix jobs (test (1)) stay with their job. The parser, stage layout and link paths live in actions-run-graph.js with unit tests.

Shared components

  • Sidebar: gains a group label and a bottom footer. Its toggle now uses one delegated click handler, so the expand button keeps working after Forgejo refreshes the run list every 30 seconds.
  • Not changed: GitHub's trigger box shows the event, time and total duration, but Forgejo's run view has no such data. Forgejo also has no annotations, "Re-run failed jobs" or workflow display names, so file names stay.
  • English text: "Workflows", "Workflow file" and "More actions" are in English because Forgejo has no strings for them.

Before and after

Dark mode, in the dev preview.

Run list: before after
Run list before Run list after
Failed job: before after
Failed job before Failed job after
Run summary: before after
Run summary before Run summary after

Checks

  • bun run bundle and bunx vitest run (410 tests) pass; Prettier is clean.
  • bun run lint fails on dev too, because typescript-eslint does not support the installed TypeScript 7.
  • Tried in the preview:
    • The Workflow, Status and Actor filters, workflow selection from the sidebar, and a repository without workflows.
    • The run "…" menu: Delete opens Forgejo's confirmation, cancelled.
    • The failing step opens on its own.
    • The job graph with the fixture's build → test, and with GitHub's five-job fan-in/fan-out workflow and a workflow without needs (both injected into the page), including hover.
    • Layouts at 1440, 1000 and 375px.

Preview: http://localhost:3000/acme/webapp/actions

🤖 Generated with Claude Code

@whereareiam whereareiam added the feature Something new for users label Oct 22, 2026
…graph

The run list moves onto the shared sidebar layout: All workflows with a
home icon, a "Workflows" group, Runners for administrators and the collapse
toggle, with the list centred beside it. The heading gets GitHub's New
workflow button and a full-width filter; the box header and rows take
GitHub's heights and weights, and the meta line reads "#2: Commit 9dac64a"
with linked commit and actor.

In a run, the link back to the workflow gets GitHub's arrow icon and padded
hover area, finished steps are grey and a failed job opens on its failing
step, the open step uses the console's active background, steps are 36px,
the job list drops durations, Delete moves into a "…" menu beside Re-run,
the summary shows Artifacts instead of a job count, and the log search no
longer covers the job's status line on phones.

The summary's jobs become GitHub's graph: stages from each job's `needs`,
read from the workflow file the run used, 260px cards 56px apart with dots
on their edges and rounded 2px links, jobs without links stacked in one
card, and the hovered job's links highlighted while unrelated jobs dim.

The shared sidebar gains a group label and a bottom footer, and its toggle
uses a delegated click so it survives Forgejo refreshing the run list.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@whereareiam whereareiam changed the title Actions: Match GitHub's run list, sidebar and job steps Actions: Match GitHub's run list, sidebar, job steps and job graph Oct 22, 2026
@whereareiam
whereareiam force-pushed the feat/actions-github branch 3 times, most recently from c10e668 to 430dd73 Compare October 22, 2026 18:23
@whereareiam
whereareiam merged commit 1e4d05a into dev Oct 22, 2026
7 checks passed
@whereareiam
whereareiam deleted the feat/actions-github branch October 22, 2026 18:43
@whereareiam whereareiam changed the title Actions: Match GitHub's run list, sidebar, job steps and job graph Actions: Matched GitHub's run list, sidebar, job steps and job graph Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature Something new for users

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant