SKIP_TO_MAIN_CONTENT
machine.dev
SIGN_UP
04.0 // Documentation v1.12.2 Last updated 2026-10-12

Spend Analysis

Use machine.dev Cost Explorer to break down GitHub Actions spend by branch, commit, workflow, repository or runner, then follow costs back to GitHub.

The dashboard shows per-job costs, daily and monthly totals, and a workflow spend card. Open Cost Explorer in the dashboard sidebar when you need to find where a change in spend came from.

Explore a period

  1. Open app.machine.dev and select your team.
  2. Select Cost Explorer in the sidebar.
  3. Pick the date range you want to inspect. The initial view covers the last three months.
  4. Choose a grouping: Branch, Commit, Workflow, Repo, or Runner.

The table shows job count, minutes, average cost per job, the most expensive job’s cost, total cost and share of the period’s spend. It summarizes completed jobs for the selected team and period. The dashboard’s workflow card highlights expensive workflows; Cost Explorer lets you investigate their branch or commit context.

QuestionGroup by
Which workflow is consuming the budget?Workflow
Did a feature branch increase spending?Branch
Which revision introduced expensive runs?Commit
Which repository accounts for the spend?Repository
Is the chosen compute configuration driving cost?Runner

A group’s share is calculated against the whole period’s spend, even if the table’s result limit means some groups are not displayed. Costs alone do not prove a regression: compare job count and average cost to distinguish more runs from more expensive runs.

Follow a cost back to GitHub

Where a row has one unambiguous repository, its name links to the relevant GitHub page:

  • Branch → the branch’s source tree
  • Commit → the commit
  • Workflow → the repository’s Actions view filtered to that workflow
  • Repository → the repository

Branch and workflow names can occur in multiple repositories. A grouped row spanning more than one repository stays plain text rather than linking to an arbitrary one. Runner groups have no GitHub destination.

The Job Runs table also shows each recorded branch. Open a job to see its branch, linked commit SHA, runtime, resource metrics and cost breakdown. Use those details to determine whether an expensive run processed more data, used a larger runner, or left compute idle.

Historical context

Branch, commit and workflow-run context started being captured in August 2026. Historical data can be recovered where persisted webhook deliveries or GitHub history remain accessible, but some older jobs cannot be attributed, for example after an installation was removed or a repository deleted.

No branch recorded and No commit recorded mean that context is missing, not that the job was free. Those jobs still contribute to spend totals. No runner means no runner was recorded for that job.

Next steps