potiuk commented on issue #5556:
URL: https://github.com/apache/skywalking/issues/5556#issuecomment-698945550


   Answering some points here  - The plugin in "duplicate" cancel mode will 
indeed cancel all the runs from the previous pushes to the same branch. It will 
only skip cancelling the first of the runs matching the same ("branch", "repo", 
"event type"). So I think this is what you expect.
   
   Regarding the "free" slot - this is true - it needs to grab a free job slot 
to run the cancel operation (when I developed it, I had a long discussion with 
github support and i proposed them to implement something similar at the 
"workflow scheduling" level. I hope they will eventually.  If there are no free 
slots available and you fire 100s of jobs for every build immediately, this 
might become a problem. However in this case there might be an easy workaround. 
I think there is hardly a need to start all the jobs at once. If you know your 
jobs will quickly saturate a number of free slots, you could run them in 
batches (for example you could build two different sub-matrices for matrix 
builds. If you add dependency between those batches, they will overall not run 
as fast as if you schedule all of them, but at least they will become 
"snappier" and easier to cancel by the subsequent commit from the same 
branch/repo/event type.
   
   I am also not sure how your workflow looks like, but in our case there are 
several preparatory steps before we launch "bigger number of jobs tests". And 
they run for long enough time (and free slots) so that when the next commit 
from the same branch is pushed, the "old" tests have not started yet and they 
are not yet blocking the slots.
   
   I honestly think this scenario when a person pushing the PR will quickly 
push a fixup is very, very common and being able to respond to it and cancel 
such runs even if you need to do some adaptations and workarounds in your 
workflow are worth it :).
   
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to