runner
runner copied to clipboard
Race condition in dependabot PRs cancels newest jobs in favor of older ones
Describe the bug We've noticed that dependabot's PRs often suffer from this issue:
- The newest enqueued job gets canceled in favor of older ones
- This doesn't happen in regular PRs from human users
- This doesn't always happen, it looks more like a race condition thing, thus it's not always reproducible
- Checks for PR mergeability include a look at the newest run of CI which was previously canceled
To Reproduce Steps to reproduce the behavior:
Current ci config:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
- Dependabot opens a PR
- Sometimes it will cancel the newest enqueued CI job instead of canceling the older one in favor of the newest one
- This causes CI checks to fail as it looks at the newest run
Expected behavior New pushes to the dependabot PR should trigger a run that should cancel the previous job so that CI checks accurately read the latest job
Runner Version and Platform
Version of your runner?
OS of the machine running the runner? ubuntu-latest.
What's not working?
Failed enqueued job
Job Log Output
NA
Runner and Worker's Diagnostic Logs
NA