actions / actions/runner

Support timeout-minutes in composite-actions

Open
#1,979 14 comments 203 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement Runner Feature
Dominant language
C#
Stars
6.3k
Forks
1.4k
Avg merge
1d 16h
Merged PRs (30d)
24

Description

Describe the enhancement
We would like to see timeout-minutes supported on steps in composite actions

Code Snippet
If applicable, add a code snippet.

name: terraform-cache

inputs:
  working-directory:
    description: Directory to run terraform in
    required: false
    default: ""

runs:
  using: composite
  steps:
    - name: Cache Terraform
      uses: actions/cache@v3
      timeout-minutes: 2
      with:
        path: ${{ runner.temp }}/.terraform.d/plugin-cache
        key: ${{ runner.os }}-terraform-${{ inputs.working-directory }}-${{ hashFiles('**/.terraform.lock.hcl') }}
        restore-keys: |
          ${{ runner.os }}-terraform-${{ inputs.working-directory }}-
          ${{ runner.os }}-terraform-

Additional information
Occasionally actions like actions/cache bug out (see https://github.com/actions/cache/issues/810 etc) and run for the default timeout time (6 hours) which causes unnecessary costs and extra work as CI will be left running and needs to be aborted and re-run.
With the possibility to set timeout-minutes on steps in composite actions this damage could be limited and have actions finish in a timely manner even if the cache action fails.

I see from previous ADRs 0549 and 1144 that timeout-minutes are to be considered in the future and last mention it was waited with due to little buzz about this feature missing, so heres some buzz 🐝 🙂


NOTE: if the feature request has been agreed upon then the assignee will create an ADR. See docs/adrs/README.md

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading docs/adrs/0549-composite-run-steps.md and docs/adrs/1144-composite-actions.md, along with docs/adrs/README.md for the expected ADR process. Trace how composite-action steps are represented and validated in the runner, then identify the tests covering step timeouts. Done means an agreed design and implementation that supports timeout-minutes for composite-action steps without changing existing behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, github-actions
Domain
ci-cd, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.