ci(frontend-deploy): report every deploy outcome in one Slack message - #8371
Draft
talissoncosta wants to merge 1 commit into
Draft
ci(frontend-deploy): report every deploy outcome in one Slack message#8371talissoncosta wants to merge 1 commit into
talissoncosta wants to merge 1 commit into
Conversation
The deploy channel carried three messages per deploy: a run started card and a succeeded card from the GitHub Slack app, plus this notification. The succeeded card said nothing this one does not already say, with less detail. Dropping the app subscription would have lost the two states this job never covered, so cover them here instead. The job now runs on always() and reports deployed, failed, or cancelled, and the outcome message carries the run start time and duration so a separate start notification is not needed either. Cancellation gets its own wording rather than the red cross the app used for it. Job level concurrency stops a run in progress whenever the next commit lands on main, so most cancellations are a supersede and nothing is wrong. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. 3 Skipped Deployments
|
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8371 +/- ##
=======================================
Coverage 98.79% 98.79%
=======================================
Files 1616 1616
Lines 65283 65283
=======================================
Hits 64499 64499
Misses 784 784 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Thanks for submitting a PR! Please check the boxes below:
docs/if required so people know about the feature.Changes
#frontend-deploygets three messages per deploy: a start card and a terminal card from the GitHub Slack app, plus our own notification. The app's✅ succeededcard duplicates ours with less detail, so roughly two thirds of the channel is noise.Our notification only fired on success, so unsubscribing the app would have lost the failed and cancelled cases. This moves them here.
notify-production-deployruns onalways()and reports deployed, failed, or cancelled. It depends on the test jobs so it can tell a real failure from a supersede.actions: read.Once merged and confirmed, the app subscription needs removing from the channel by hand:
How did you test this code?
Ran the jq program directly for each status and checked the rendered blocks, including the degraded path where the start time is unavailable and both timing fields drop out. Checked the status mapping against the seven
needs.*.resultcombinations that can occur. Both files parse as YAML.Not exercised end to end, and it cannot be until it is on
main. One thing to watch on the first cancelled run: thatalways()runs the job whenrun-testsis cancelled by its own concurrency group, rather than the job being cancelled with it. That is the only behaviour I could not verify locally, and the reason this is a draft.