Skip to content

Notify on merge queue failures#581

Open
bschwedler wants to merge 2 commits into
mainfrom
merge-queue
Open

Notify on merge queue failures#581
bschwedler wants to merge 2 commits into
mainfrom
merge-queue

Conversation

@bschwedler

Copy link
Copy Markdown
Contributor

The Slack notification action previously skipped silently when no prior
run history was found. Merge queue runs on ephemeral refs never appear
in a main-branch run query, so that guard was swallowing all merge queue
failures with no notification.

Now: no history + passing → still skip. No history + failing → notify.

The action previously skipped silently when no previous workflow
runs were found on main. This prevented merge queue failures from
triggering notifications, since merge queue runs land on ephemeral
refs and never appear in a main-branch run query.

Now: no history + failed → fire failure notification; no history +
passed → skip. State-transition logic is unchanged for builds with
history.
Extend `bakery ci matrix` with a `--latest` flag that mirrors the flag
already on `bakery build`. For regular versions it keeps only those
with `latest: true`; for matrix images it keeps only the
highest-version combination (the row where `ImageVersion.latest` is
set by `_matches_latest`).

Add a `latest-only` boolean input to `bakery-build-pr.yml` that
passes `--latest` to the matrix generation steps, so calling
workflows can opt individual event types into a faster subset run.

Add a `multiversion` test context and BDD scenarios that verify the
flag filters non-latest versions from the output.
@bschwedler bschwedler marked this pull request as ready for review June 9, 2026 18:40
@bschwedler bschwedler requested a review from ianpittwood as a code owner June 9, 2026 18:40
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

Test Results

1 636 tests  +2   1 636 ✅ +2   8m 31s ⏱️ +28s
    1 suites ±0       0 💤 ±0 
    1 files   ±0       0 ❌ ±0 

Results for commit 3adcc30. ± Comparison against base commit 6bc441c.

run: |
FULL_MATRIX=$(bakery ci matrix --quiet --dev-versions "$DEV_VERSIONS" --matrix-versions "$MATRIX_VERSIONS" --context "$BAKERY_CONTEXT" | jq --compact-output .)
LATEST_FLAGS=()
if [ "$LATEST_ONLY" = "true" ]; then LATEST_FLAGS=(--latest); fi

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to be able to run only the latest version of every image for each PR.

This allows us to enable merge queues in all the repos. Then when ready to merge it runs the full suite without passing --latest.

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