mirror of
https://github.com/manifoldbt/manifoldbt.git
synced 2026-08-24 14:38:04 +00:00
bench: stop manual runs from cancelling each other (#11)
`cancel-in-progress: true` is right for a CI triggered by pushes, where a newer commit makes an older run pointless. It is wrong here. Three times in one afternoon a second dispatch killed a run that was mid-measurement, once eight minutes in, and each left a cancelled entry in a run list whose whole job is to be readable by someone checking the numbers. The fix people reach for then is deleting runs, which breaks the run_url the published data links to, and with it the only reason to believe the numbers. A manual run is never superseded: nobody dispatches a benchmark to invalidate the one already running. A release or the weekly cron still supersedes, because there an older run really is measuring a version nobody asks about any more.
This commit is contained in:
@@ -38,7 +38,16 @@ permissions:
|
||||
|
||||
concurrency:
|
||||
group: bench-vs-vectorbt-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
# A manual run is never superseded, so it is never cancelled. Cancelling in
|
||||
# flight is the right default for a CI triggered by pushes, where a newer
|
||||
# commit makes an older run pointless; here it threw away ten minutes of
|
||||
# measurement because somebody pressed the button twice, three times in one
|
||||
# afternoon, and left a trail of cancelled runs in a list whose whole job is
|
||||
# to be readable by someone checking the numbers.
|
||||
#
|
||||
# A release or the weekly cron still supersedes: there, an older run really is
|
||||
# measuring a version nobody is asking about any more.
|
||||
cancel-in-progress: ${{ github.event_name != 'workflow_dispatch' }}
|
||||
|
||||
jobs:
|
||||
bench:
|
||||
|
||||
Reference in New Issue
Block a user