runner icon indicating copy to clipboard operation
runner copied to clipboard

Race condition in dependabot PRs cancels newest jobs in favor of older ones

Open juanpaucar opened this issue 1 year ago • 0 comments

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
  1. Dependabot opens a PR
  2. Sometimes it will cancel the newest enqueued CI job instead of canceling the older one in favor of the newest one
  3. 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

juanpaucar avatar Jul 08 '24 19:07 juanpaucar