Skip to content

ci: prepare for merge queue - #98

Open
kolyshkin wants to merge 3 commits into
opencontainers:mainfrom
kolyshkin:merge-queue
Open

kolyshkin wants to merge 3 commits into
opencontainers:mainfrom
kolyshkin:merge-queue

Conversation

@kolyshkin

Copy link
Copy Markdown
Contributor

Prepare CI for enabling the merge queue, taking into account the issues we hit while doing the same in runc:

  1. Make all-done and all-done-validate fail when a needed job fails. Without a status function in if:, they are skipped (not failed) in this case, and a skipped required check counts as passing -- also in the merge queue. Same as in runc (#5609).
  2. Drop all-done-actionlint, which has the same problem; actionlint itself can be required instead.
  3. Add the merge_group trigger to all workflows providing required checks. This includes review-policy: the reusable workflow from runc already does nothing for merge_group (#5563), but triggers of a reusable workflow are ignored, so the calling workflow must have it. Note review-policy.yml is a governance file.

Once merged, the merge queue can be enabled in the repository settings, with the following required checks:

  • all-done
  • all-done-validate
  • actionlint
  • review-policy / review-policy

Without a status function in its if, an all-done job is skipped (not
failed) when a needed job fails or is cancelled, and a skipped required
check counts as passing, also in the merge queue.

Run all-done and all-done-validate unless the workflow is cancelled,
and explicitly fail them if any of the needed jobs has failed or was
cancelled (but not skipped).

This is the same as done in runc.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
It only wraps the single actionlint job and, having no status function,
is skipped (and passes as a required check) when actionlint fails. Drop
it; actionlint itself can be required instead.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
With the merge queue enabled, all required checks must also pass for
the merge group commit; a check that is not reported there makes the
queue time out. Add the merge_group trigger to all the workflows that
provide (or may provide) required checks.

This includes review-policy: the reusable workflow from runc already
handles merge_group (by doing nothing), but the triggers of a reusable
workflow are ignored, so it must be added to the calling one.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
@kolyshkin
kolyshkin requested a review from a team as a code owner November 12, 2026 19:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant