You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Due for payment 2025-08-20] Move App PR test failure announcements from #announce to #expensify-open-source #66645
When an App PR is merged to main, we re-run checks (Process new code merged to main) to make sure they still pass. If they fail, we automatically
Create an hourly Workflow Failure issue, auto-assign the person who merged the PR and mention the PR author
Post the failure to #announce and tag @app_deployers
Per GH search, this has happened 57 times in the last 30 days.
Problems
The slack announcement is noisy for the deployer team since broken checks do not require any special privileges or expertise from the team to fix.
#announce is internal only so contributors are not notified and a deployer must manually enlist them to fix the issue
Solution
Move the slack announcement to #expensify-open-source to notify everyone about failures on main and tag only the engineer that merged the PR to investigate.
changed the title [-]Notify everyone and tag the appropriate when checks start failing on main[/-][+]Notify everyone and tag the appropriate engineer when checks start failing on main[/+]on Jul 17, 2025
We could just set the CHANNEL to #expensify-open-source and add another MENTION param to switch who we're tagging. We can mention the github.actor, but that might not always match their slack handle 🤔.
Just realized we already have a GH action that automatically creates an hourly Workflow Failure issue and auto assigns it to the person who merged the PR - failureNotifier.yml.
Since failureNotifier already does what we want, we can just update that to also post the slack announcement. I updated the P/S with that context and I'll share it in #deployer.
changed the title [-]Notify everyone and tag the appropriate engineer when checks start failing on main[/-][+]Move App PR test failure announcements from #announce to #expensify-open-source[/+]on Jul 29, 2025
changed the title [-]Move App PR test failure announcements from #announce to #expensify-open-source[/-][+][Due for payment 2025-08-20] Move App PR test failure announcements from #announce to #expensify-open-source[/+]on Aug 13, 2025
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.1.93-7 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:
Activity
[-]Notify everyone and tag the appropriate when checks start failing on main[/-][+]Notify everyone and tag the appropriate engineer when checks start failing on main[/+]arosiclair commentedon Jul 18, 2025
Looks like the announcement is triggered here. It runs announceFailedWorkflowInSlack which always mentions app deployers.
We could just set the
CHANNELto#expensify-open-sourceand add anotherMENTIONparam to switch who we're tagging. We can mention thegithub.actor, but that might not always match their slack handle 🤔.arosiclair commentedon Jul 23, 2025
Just realized we already have a GH action that automatically creates an hourly
Workflow Failureissue and auto assigns it to the person who merged the PR - failureNotifier.yml.Here's an example: #66681
So the slack announcement seems pretty redundant to me honestly. We could still share the issue in
#expensify-open-sourcefor visibility though.arosiclair commentedon Jul 23, 2025
Since failureNotifier already does what we want, we can just update that to also post the slack announcement. I updated the P/S with that context and I'll share it in
#deployer.[-]Notify everyone and tag the appropriate engineer when checks start failing on main[/-][+]Move App PR test failure announcements from #announce to #expensify-open-source[/+]arosiclair commentedon Jul 29, 2025
@AndrewGable it looks like you actually implemented this already here. Any idea why that doesn't seem to be working?
AndrewGable commentedon Jul 29, 2025
I would assume this logic is wrong, I remember looking into logs but didn't get far.
arosiclair commentedon Aug 7, 2025
Testing this locally with a test repo and it seems to be working correctly to me 😕
AndrewGable commentedon Aug 7, 2025
Can we add more logs to see what the shape is and/or if we are just not getting them to our webhook?
arosiclair commentedon Aug 7, 2025
Ah okay I found an error in logs 967e56f15c67c938-SJC
So the code is working, but
#announceis not found for some reason1 remaining item
AndrewGable commentedon Aug 7, 2025
Maybe we should try passing an array?
$slackClient->announce([Slack_Client::CHANNEL_ANNOUNCE], $message);arosiclair commentedon Aug 7, 2025
Oh man I just realized "#announce" was spelled wrong 😄. I'm just going to update it to the
#expensify-open-sourcechannelAndrewGable commentedon Aug 7, 2025
Oops! 🙈 Nice find!
[-]Move App PR test failure announcements from #announce to #expensify-open-source[/-][+][Due for payment 2025-08-20] Move App PR test failure announcements from #announce to #expensify-open-source[/+]melvin-bot commentedon Aug 13, 2025
Reviewinglabel has been removed, please complete the "BugZero Checklist".melvin-bot commentedon Aug 13, 2025
The solution for this issue has been 🚀 deployed to production 🚀 in version 9.1.93-7 and is now subject to a 7-day regression period 📆. Here is the list of pull requests that resolve this issue:
If no regressions arise, payment will be issued on 2025-08-20. 🎊
arosiclair commentedon Aug 14, 2025
All done!