Skip to content

Commit b11e87c

Browse files
committed
fix(release): route release notifications to #engr instead of #oss-alerts
Release alerts belong in #engr per corrected routing. SLACK_WEBHOOK_ENGR is the org-wide secret (visibility=all), so no provisioning is needed.
1 parent 4ea15b9 commit b11e87c

4 files changed

Lines changed: 12 additions & 12 deletions

File tree

.github/workflows/publish-release.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -636,16 +636,16 @@ jobs:
636636
} >> "$GITHUB_STEP_SUMMARY"
637637
638638
# ===========================================================================
639-
# Slack #oss-alerts notification
639+
# Slack #engr notification
640640
#
641-
# A single concise post to #oss-alerts when a release publishes (or fails).
641+
# A single concise post to #engr when a release publishes (or fails).
642642
# Runs after both lanes regardless of their outcome (`if: always()`). The
643643
# load-bearing truth table lives in the unit-tested pure builder at
644644
# scripts/release/lib/build-release-notification.ts; this job only feeds it the
645645
# needs.* signals and posts what it returns. Suppressed entirely for canaries
646646
# (mode=prerelease) and dry-runs — the builder returns should_post=false there.
647647
# Webhook empty-guard mirrors showcase_validate.yml so an unset
648-
# SLACK_WEBHOOK_OSS_ALERTS secret does not break the shell or red this step.
648+
# SLACK_WEBHOOK_ENGR secret does not break the shell or red this step.
649649
# ===========================================================================
650650
notify:
651651
needs: [build, publish, build-python, publish-python]
@@ -661,7 +661,7 @@ jobs:
661661
permissions:
662662
contents: read
663663
env:
664-
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_OSS_ALERTS }}
664+
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_ENGR }}
665665
steps:
666666
# Determine release intent IN THIS JOB, from the github.event payload +
667667
# the PR changed-files API — NOT from needs.build*/needs.build-python
@@ -790,11 +790,11 @@ jobs:
790790
PY_URL: ${{ needs.build-python.outputs.version && format('https://pypi.org/project/copilotkit/{0}/', needs.build-python.outputs.version) || 'https://pypi.org/project/copilotkit/' }}
791791
run: pnpm tsx scripts/release/build-release-notification.ts
792792

793-
- name: Post to #oss-alerts
793+
- name: Post to #engr
794794
if: ${{ steps.build.outputs.should_post == 'true' && env.SLACK_WEBHOOK != '' && inputs.dry-run != true }}
795795
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
796796
with:
797-
webhook: ${{ secrets.SLACK_WEBHOOK_OSS_ALERTS }}
797+
webhook: ${{ secrets.SLACK_WEBHOOK_ENGR }}
798798
webhook-type: incoming-webhook
799799
payload: |
800800
{
@@ -804,7 +804,7 @@ jobs:
804804
- name: Log (no Slack — webhook unset)
805805
if: ${{ steps.build.outputs.should_post == 'true' && env.SLACK_WEBHOOK == '' }}
806806
run: |
807-
echo "::warning::A release notification was ready to post but SLACK_WEBHOOK_OSS_ALERTS is not set; no Slack notification sent."
807+
echo "::warning::A release notification was ready to post but SLACK_WEBHOOK_ENGR is not set; no Slack notification sent."
808808
809809
# Self-watchdog: if any earlier step in THIS job failed (e.g. the
810810
# dependency install or the builder crashed), the notifier itself is the
@@ -837,7 +837,7 @@ jobs:
837837
if: ${{ failure() && env.SLACK_WEBHOOK != '' && inputs.dry-run != true && (steps.intent.outputs.npm_intended == 'true' || steps.intent.outputs.py_intended == 'true') }}
838838
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
839839
with:
840-
webhook: ${{ secrets.SLACK_WEBHOOK_OSS_ALERTS }}
840+
webhook: ${{ secrets.SLACK_WEBHOOK_ENGR }}
841841
webhook-type: incoming-webhook
842842
payload: |
843843
{

scripts/release/build-release-notification.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* CLI wrapper for the post-release #oss-alerts Slack notification builder.
2+
* CLI wrapper for the post-release #engr Slack notification builder.
33
*
44
* Thin glue around the pure buildReleaseNotification() function in
55
* ./lib/build-release-notification.ts. The truth-table logic lives (and is

scripts/release/lib/build-release-notification.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Pure message-builder for the post-release #oss-alerts Slack notification.
2+
* Pure message-builder for the post-release #engr Slack notification.
33
*
44
* This is the load-bearing truth table for what (if anything) gets posted to
55
* Slack after the publish-release.yml workflow runs. It is deliberately a PURE
@@ -163,7 +163,7 @@ function pluralizePackages(count: number): string {
163163
}
164164

165165
/**
166-
* Build the #oss-alerts Slack message for a release run. Pure function: same
166+
* Build the #engr Slack message for a release run. Pure function: same
167167
* inputs always produce the same output.
168168
*/
169169
export function buildReleaseNotification(

scripts/release/lib/build-release-notification.wrapper.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ describe("wrapper CLI end-to-end message rendering (subprocess)", () => {
363363
// the build job is `skipped` on a non-release merge (no release/publish/*
364364
// ref) → MODE/SCOPE come back empty and no Python intent signal is set.
365365
// The notifier must stay completely silent — neither a success nor a
366-
// failure line — so a routine docs/feature merge never pages #oss-alerts.
366+
// failure line — so a routine docs/feature merge never pages #engr.
367367
const out = path.join(tmpDir, "gho.txt");
368368
fs.writeFileSync(out, "");
369369
const { code } = runWrapper({

0 commit comments

Comments
 (0)