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]