-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Open
Description
Describe the issue
The Problem/Opportunity
Currently, when multiple commits are pushed to a Pull Request (PR), older workflows continue to run unnecessarily. This leads to inefficient use of CI/CD resources and longer wait times for developers to see test results.
The Suggestion
I propose adding the following concurrency block to most of the GitHub Actions workflows in the project:
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
Benefits
Cost and Time Savings: This feature automatically cancels old and now-irrelevant workflows when a new commit is pushed to a PR. This directly reduces CI/CD runner minutes and costs.
Increased Efficiency: Developers will always see the test results for only the latest code. This prevents confusion and speeds up the development process.
Better Developer Experience: Wait times for test results are shortened, and the "Actions" history becomes cleaner.
I believe this small change will be a significant improvement to the project's CI/CD processes.
### Context
_No response_
### Steps to Reproduce or Propose
1. Add the proposed `concurrency` block to the relevant GitHub Actions workflow files.
2. Push a commit to a Pull Request, which will trigger a workflow run.
3. Before the first workflow is complete, push a second commit to the same Pull Request.
4. **Expected Change:** The first workflow run should be automatically canceled by GitHub. Only the workflow for the second, most recent commit should continue to run to completion.Metadata
Metadata
Assignees
Labels
No labels