[Chapel Merge] Cancel superseded or destroyed merge group workflow runs

Branch: refs/heads/main
Revision: a91851552113cb4215f4799186b8fe0ed2901353
Author: arifthpe
Link: Cancel superseded or destroyed merge group workflow runs by arifthpe · Pull Request #29274 · chapel-lang/chapel · GitHub
Log Message:
Cancel superseded or destroyed merge group workflow runs (#29274)

Adjust the merge queue checks to cancel previous runs from any aborted
or invalidated merge attempts.

This is relevant when a merge group is invalidated due to someone
bypassing or jumping the queue, or when items ahead are removed
(manually or due to failures). For some reason, GitHub does not cancel
the running workflows in that case, even though their results are now
irrelevant; see Merge Queue: Github does not cancel workflows in merge queue even when they become irrelevant · community · Discussion #137976 · GitHub.

Inspired by this
snippet

for cancelling old runs via concurrency on the merge group destroyed
action, and this
pattern

for making the concurrency group unique per-run (and irrelevant) in
a case you don't want to include in the limits.

Adds more silencing to our actionlint check to work around
Actionlint errors for `merge_group` event activity type `destroyed` · Issue #726 · rhysd/actionlint · GitHub.

[reviewed by @jabraham17 , thanks!]

Compare: Comparing 16be1e3f7960bd29d2ef58e6188c87f65ab9c933...c8316890963b57b71eaec5585fa69e1dbc14dd6f · chapel-lang/chapel · GitHub

Diff:
M .github/workflows/lint-workflows.yml
M .github/workflows/trigger-pr-checks.yml
https://github.com/chapel-lang/chapel/pull/29274.diff