Releases: potiuk/cancel-workflow-runs
Fixes problem with null 'head_repo'
Sometimes head_repo in the RunItem is null. This is a very rare case but it happens as described in apache/airflow#15188.
This release handles such weird run items.
Updated dcumentation for 'allDuplicates' mode
This release is only about updating the documentation about allDuplicates
mode and high-strain situations for GitHub Actions queue.
Fixes "other" workflow case
The previous 4.3 change also broke "other workflow" case. This release fixes it.
Fixes being a bit too aggressive
There were problems introduced in 4.3 version that were not discovered initially - they caused a little to aggressive behavior in the newly added allDuplicates (runs from other PRs were cancelled if they were older) and failedJobs cancel modes (just matching the name of the job was good enough reason to cancel).
This release fixes those problems.
Fixes non-iterable data problem
In some cases jobs data returned is not iterable. This change switches back to deprecated data.jobs method of retrieving jobs.
Adds self-preservation mechanism
This version fixes a problem where cancel action could accidentally cancel it's own workflow. While there are some cases where this might be a desired behavior it is now controlled by a new 'selfPreservation' input which is 'true' by default.
Adds allDuplicatedNamedJobs mode
This Release adds support for a new cancelMode : allDuplicatedNamedJobs
It allows for more aggressive cancelation of duplicated 'workflow_run' events when the queues are big.
Add 'allDuplicates' cancelling mode
The 'allDuplicates' canceling mode should become your favorite canceling mode. It is much more resistant to queueing problems in case you experience a lot of PRs queuing and a lot of them having duplicates. The 'allDuplicates' cancel mode will cancel ALL duplicates running in your repository - no matter if they are from the same repo/branch as your workflow and no matter if they were queued before or after your workflow.
This means that whenever any of of your 'workflow runs' starts running it will clean up the whole queue and get rid of all the duplicates there.
Cancel future duplicates
In case of duplicates, cancels future ones - only leaving the most recent one. This is helpful in case of busy queues, such duplicates will be killed much in a more aggressive way, but always the most recent one will be spared.
Add canceling workflows by name
Allows to cancel another workflow by specifying its name