From eb758dd85a32615a8c8bf6b40079d6dff3f41919 Mon Sep 17 00:00:00 2001 From: "Benjamin R. J. Schwedler" Date: Mon, 8 Jun 2026 14:04:51 -0500 Subject: [PATCH 1/5] Notify Slack on merge queue failures Add a notification step to the CI job, conditioned on merge_group events, so that merge queue failures trigger a Slack alert. Adds an id to the alls-green step so its outcome is referenceable. --- .github/workflows/pr.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 0782b69e..0eb9b0cd 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -22,8 +22,15 @@ jobs: - zizmor steps: - uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2 + id: alls-green with: jobs: ${{ toJSON(needs) }} + - if: always() && github.event_name == 'merge_group' + continue-on-error: true + uses: posit-dev/images-shared/.github/actions/slack-build-notify@main + with: + result: ${{ steps.alls-green.outcome }} + slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }} lint: name: Lint From aa34efb2b189fdbcdb3a2cdc6c793e28126e52ab Mon Sep 17 00:00:00 2001 From: "Benjamin R. J. Schwedler" Date: Mon, 8 Jun 2026 14:20:39 -0500 Subject: [PATCH 2/5] Add merge_group trigger to PR workflow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without this trigger, the workflow never runs on merge_group events, so the github.event_name == 'merge_group' condition in the Slack notification step was never satisfied — effectively dead code. --- .github/workflows/pr.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 0eb9b0cd..8273f863 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -1,6 +1,8 @@ name: Pull Request on: pull_request: + merge_group: + types: [checks_requested] concurrency: From e83e1f8403e7ee455a25f1491fc95a65224c0b42 Mon Sep 17 00:00:00 2001 From: "Benjamin R. J. Schwedler" Date: Mon, 8 Jun 2026 14:37:19 -0500 Subject: [PATCH 3/5] Remove redundant types from merge_group trigger --- .github/workflows/pr.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 8273f863..50f6b58f 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -2,7 +2,6 @@ name: Pull Request on: pull_request: merge_group: - types: [checks_requested] concurrency: From e554b120826e9ab2e18e6aff38e79ed518269cb5 Mon Sep 17 00:00:00 2001 From: "Benjamin R. J. Schwedler" Date: Mon, 8 Jun 2026 14:58:48 -0500 Subject: [PATCH 4/5] Pass latest-only to PR build jobs on pull_request events For pull_request events, pass latest-only=true to all three build jobs (production, development, session). For merge_group events, latest-only defaults to false so the full version matrix runs. Requires images-shared to expose the latest-only input on bakery-build-pr.yml and the --latest flag on bakery ci matrix. --- .github/workflows/pr.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 50f6b58f..824debc1 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -59,6 +59,7 @@ jobs: with: dev-versions: "exclude" matrix-versions: "exclude" + latest-only: ${{ github.event_name != 'merge_group' }} development: name: Development @@ -69,6 +70,7 @@ jobs: with: dev-versions: "only" matrix-versions: "exclude" + latest-only: ${{ github.event_name != 'merge_group' }} session: name: Session @@ -78,6 +80,7 @@ jobs: uses: posit-dev/images-shared/.github/workflows/bakery-build-pr.yml@main with: matrix-versions: "only" + latest-only: ${{ github.event_name != 'merge_group' }} zizmor: name: Zizmor From 62d108259fc16345c9d804ca944bb28b00cb7fd4 Mon Sep 17 00:00:00 2001 From: "Benjamin R. J. Schwedler" Date: Mon, 8 Jun 2026 15:01:23 -0500 Subject: [PATCH 5/5] REVERTME: point to staged branch to test latest-only Points bakery-build-pr.yml and setup-bakery (via version:) at feat/merge-queue-slack-notifications so latest-only can be tested before images-shared#576 merges. Once https://github.com/posit-dev/images-shared/pull/576 is merged, drop this commit and restore @main refs in the previous commit. --- .github/workflows/pr.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 824debc1..4bdb60dc 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -55,8 +55,9 @@ jobs: permissions: contents: read packages: write - uses: posit-dev/images-shared/.github/workflows/bakery-build-pr.yml@main + uses: posit-dev/images-shared/.github/workflows/bakery-build-pr.yml@feat/merge-queue-slack-notifications with: + version: feat/merge-queue-slack-notifications dev-versions: "exclude" matrix-versions: "exclude" latest-only: ${{ github.event_name != 'merge_group' }} @@ -66,8 +67,9 @@ jobs: permissions: contents: read packages: write - uses: posit-dev/images-shared/.github/workflows/bakery-build-pr.yml@main + uses: posit-dev/images-shared/.github/workflows/bakery-build-pr.yml@feat/merge-queue-slack-notifications with: + version: feat/merge-queue-slack-notifications dev-versions: "only" matrix-versions: "exclude" latest-only: ${{ github.event_name != 'merge_group' }} @@ -77,8 +79,9 @@ jobs: permissions: contents: read packages: write - uses: posit-dev/images-shared/.github/workflows/bakery-build-pr.yml@main + uses: posit-dev/images-shared/.github/workflows/bakery-build-pr.yml@feat/merge-queue-slack-notifications with: + version: feat/merge-queue-slack-notifications matrix-versions: "only" latest-only: ${{ github.event_name != 'merge_group' }}