Support timeout-minutes in composite-actions
Nobody has claimed this yet.
- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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