JuliaRegistries / General

The official registry of general Julia packages
https://github.com/JuliaRegistries/General/blob/master/README.md
MIT License
585 stars 444 forks source link

what is the stopwatch mechanism for? #107794

Open ericphanson opened 1 month ago

ericphanson commented 1 month ago

My understanding is it triggers additional AutoMerge runs in case the periodic job hasn't run recently. But why is the periodic job alone not enough?

I don't see any commentary in the PR that added it. Maybe @DilumAluthge knows?

It would be nice if we could delete it, since it adds complexity and it occasionally confuses users who think it is doing something to their PR or has a role to play in whether or not their PR gets merged ("I was attempting to make sure the 0.1.0 included the latest updates but I guess it resets the stopwatch.")

ericphanson commented 1 month ago

From slack: the stopwatch mechanism is to workaround issues with cron job reliability, where at times instead of every 15 mins, it would run once per 4 hours or even slower.

Googling, it sounds like this is "expected" according to GHA (https://github.com/orgs/community/discussions/27130) and using workflow dispatch triggers is a common workaround (https://upptime.js.org/blog/2021/01/22/github-actions-schedule-not-working/).

The reason it shows up on the PR page is that the stopwatch mechanism works by deploying to a github actions environment (which is typically production/staging/etc) which we use to have a timer to run a script after some amount of time. It is an open feature request to not show those deployments on the PR itself: https://github.com/orgs/community/discussions/58018.