DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
World desk3 min

How to Limit GitHub Actions Usage with Job and Workflow Timeouts

Set a maximum runtime for each GitHub Actions job, distinguish it from platform limits, and learn how concurrency and billing affect overall usage.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Set jobs.<job_id>.timeout-minutes to cap how long an individual GitHub Actions job can run. GitHub automatically cancels the job when it reaches that limit. There is no single documented workflow.timeout-minutes setting: a job timeout, GitHub’s platform execution ceilings, whole-run limits, concurrency controls, and billing rules address different things.

Set a timeout for each job you want to bound

Add timeout-minutes under the job’s identifier in your workflow YAML:

jobs:
  tests:
    runs-on: ubuntu-latest
    timeout-minutes: 20
    steps:
      - uses: actions/checkout@v6
      - run: ./run-tests.sh

GitHub defines jobs.<job_id>.timeout-minutes as “the maximum number of minutes to let a job run before GitHub automatically cancels it.” Its documented default is 360 minutes. See GitHub’s workflow syntax reference.

The example’s 20 minutes is illustrative, not a recommended value. Use successful run times as a starting point, then leave headroom for normal variation, setup, and slower runner conditions. Apply the setting to every job that needs a bound; otherwise, a long-running job can remain at the documented default.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Understand job timeouts versus GitHub’s execution ceilings

An author-set timeout can make a job stop sooner, but it cannot extend the maximum execution time allowed by GitHub. The limits documented for GitHub Actions state that a job can run for up to 6 hours on a GitHub-hosted runner or up to 5 days on a self-hosted runner. GitHub also limits a workflow run to 35 days, including execution, time waiting, and environment approval. These are platform ceilings, not substitutes for setting practical job timeouts; GitHub notes that limits may change. Check the current Actions limits documentation for applicable details.

The distinction matters when diagnosing a workflow that appears stuck: a job timeout governs that job’s execution, while the whole-run limit also accounts for waiting and approvals. Reaching a job timeout triggers automatic cancellation; it is not a guarantee of graceful shutdown or cleanup of every external process.

Use concurrency to control overlapping runs

A job timeout caps the duration of one job, but it does not stop multiple workflow runs from starting or running at the same time. GitHub Actions permits concurrent jobs and runs by default. If the problem is duplicate or outdated work rather than one job running too long, concurrency is a separate control. Read GitHub’s concurrency documentation before choosing a group and cancellation policy.

By default, a concurrency group can have one running run or job and one pending run. When another run becomes pending in that group, it cancels the previous pending run unless queueing is configured. That behavior can discard pending work, so choose the group and settings to match whether you want to serialize work or cancel superseded runs.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Timeouts do not by themselves cap your bill

For public repositories, standard GitHub-hosted runner usage is free; self-hosted runner usage is also free. GitHub-hosted jobs in private repositories consume plan minutes and may incur charges after included allowances are used. The applicable plan, runner type, account settings, and minute multipliers affect billing; storage and repeated or parallel runs also matter. Consult GitHub’s Actions billing documentation for current terms.

A timeout limits the duration of a single job, not total monthly usage: multiple jobs can run in parallel, and workflows can run repeatedly. It is one guardrail, not a spending limit.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Check job duration and billed usage separately

Open a workflow run and inspect the job execution time in the run interface, then compare usage with the account’s billing information. For private-repository hosted jobs, displayed billable minutes are rounded up to a whole minute and do not include runner-minute multipliers. The usage documentation explains what the displayed metrics represent. For reusable workflows, billing is associated with the caller workflow, and runner assignment is evaluated from the caller’s context; see GitHub’s reusable-workflow runner guidance.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.