Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add dotd flaky test tracking reminders #58811

Merged
merged 6 commits into from
May 22, 2024
Merged

Add dotd flaky test tracking reminders #58811

merged 6 commits into from
May 22, 2024

Conversation

lfryemason
Copy link
Contributor

@lfryemason lfryemason commented May 21, 2024

Adds two reminders:

When a DTT fails, it posts a new message with a link to the flaky test tracker
Every day at 8:00 AM PT, the DOTD will get a DM from the DOTD app

Links

Testing story

Deployment strategy

Follow-up work

Privacy

Security

Caching

PR Checklist:

  • Tests provide adequate coverage
  • Privacy and Security impacts have been assessed
  • Code is well-commented
  • New features are translatable or updates will not break translations
  • Relevant documentation has been added or updated
  • User impact is well-understood and desirable
  • Pull Request is labeled appropriately
  • Follow-up work items (including potential tech debt) are tracked and linked

@lfryemason lfryemason requested a review from a team as a code owner May 21, 2024 16:17
aws/ci_build Outdated
@@ -160,6 +160,8 @@ def main

# Schedule a reminder for the dotd to check Zendesk in 2 hours
Slack.remind(Slack.user_id(DevelopersTopic.dotd), Time.now.to_i + 7200, 'Reminder: check <https://codeorg.zendesk.com/agent/filters/44863373|Zendesk>')
# Remind dotd to update the flaky test tracker on DTP as a once-ish a day reminder.
Slack.remind(Slack.user_id(DevelopersTopic.dotd), Time.now.to_i, 'Please update the <https://docs.google.com/spreadsheets/d/1DD6ebHM-2fsiMxxYCzhJYd1DzA69Z20qrCItaER9vto|Flaky Test Tracker>')
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this a one time reminder, or a recurring reminder?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It will remind each DTP

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That was the best mechanism I could find. Ideally it would be once a day around 9:00 am PT, but I couldn't find a way to do that

Copy link
Member

Choose a reason for hiding this comment

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

to do this once every morning, you could add this to bin/cron/update_dotd

Copy link
Member

Choose a reason for hiding this comment

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

or create a new cronjob, if that's not too heavy-handed

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Perfect! Updated to put into update_dotd instead.

Copy link
Contributor

Choose a reason for hiding this comment

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

Oh, I guess the ZenDesk reminder works the same way. I was worried this might create a daily reminder, such that on the third day, the current and two prior DOTD's would get reminders.

Copy link
Member

@davidsbailey davidsbailey left a comment

Choose a reason for hiding this comment

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

LGTM after considering comments

Comment on lines 29 to 30
# Remind dotd to update the flaky test tracker at 8am PST.
Slack.remind(Slack.user_id(DevelopersTopic.dotd), Time.now.to_i + 3600, 'Please update the <https://docs.google.com/spreadsheets/d/1DD6ebHM-2fsiMxxYCzhJYd1DzA69Z20qrCItaER9vto|Flaky Test Tracker>')
Copy link
Member

Choose a reason for hiding this comment

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

maybe update_dotd was not an ideal suggestion, because it gets run twice, to avoid needing to be updated twice a year for timezone changes:

cronjob at:'0 14,15 * * *', do:deploy_dir('bin', 'cron', 'update_dotd')

as a result, I would expect this reminder to get posted twice.

my recommendation would be to expand the unless new_topic == current_topic condition above and include this reminder within that block, as a hacky way of making this only get run once

Copy link
Member

Choose a reason for hiding this comment

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

my other comment here, perhaps more important, is that this message seems a bit un-actionable. What are you expecting the dotd to do in response to this message? I am wondering if the message on each DTT failure is perhaps the most timely and effective way to prompt the dotd.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@davidsbailey I changed the mechanics to tag the DOTD and print out the message when a test build fails. I also added a bit more context to the message.

I know this will tag the DOTD twice on a build failure, but I think that will be helpful temporarily to make sure that developers see the new message.

bin/cron/update_dotd Outdated Show resolved Hide resolved
@lfryemason lfryemason merged commit 4c1a05c into staging May 22, 2024
2 checks passed
@lfryemason lfryemason deleted the lfm/remind branch May 22, 2024 18:48
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.

None yet

3 participants