mbox series

[0/1] ci: avoid unnecessary builds, with ci-config

Message ID cover.1667931937.git.me@ttaylorr.com (mailing list archive)
Headers show
Series ci: avoid unnecessary builds, with ci-config | expand

Message

Taylor Blau Nov. 8, 2022, 6:25 p.m. UTC
This is an alternative approach to Johannes's patch in [1], which
cancels running GitHub Actions workflows when newer ones appear via the
'concurrency' controls.

Though the original patch was promising, it does not satisfy all
workflows. A couple examples:

  - ÆVar points out in [2] that he pushes a topic branch multiple times
    while working on it to see where CI breaks along a stream of
    commits.

  - Junio points out in [3] that he will often push various combinations
    of topics merged into 'seen' to try and "bisect" the culprit when
    debugging CI failures.

On the other hand, being able to cancel previously initiated runs of a
workflow on a given branch name is useful when the branch has been
updated locally and the results of the in-progress CI run are no longer
interesting.

This patch takes an alternative approach to the original patch in [1] by
using the same ci-config mechanism to cancel in-progress jobs when newer
ones appear only when configured to do so.

The original patch I posted with this approach in [4] had syntax issues.
This approach works as expected.

Thanks in advance for your review.

[1]: https://lore.kernel.org/git/pull.1404.git.1667482458622.gitgitgadget@gmail.com/
[2]: https://lore.kernel.org/git/221104.86bkpnzdqi.gmgdl@evledraar.gmail.com/
[3]: https://lore.kernel.org/git/xmqqk046cmmv.fsf@gitster.g/
[4]: https://lore.kernel.org/git/Y2R3vJf1A2KOZwA7@nand.local/

Taylor Blau (1):
  ci: avoid unnecessary builds

 .github/workflows/check-whitespace.yml |  6 ++++
 .github/workflows/l10n.yml             |  6 ++++
 .github/workflows/main.yml             | 40 ++++++++++++++++++++++++--
 3 files changed, 50 insertions(+), 2 deletions(-)