-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Set final cutoff date for projects using SSH keys with write access #12536
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR extends the deprecation deadline for SSH keys with write access from July 31, 2025 to December 1st, 2025. This gives users additional time to migrate to read-only deploy keys before the hard enforcement begins.
- Updated user-facing messages across notification and error contexts to reflect the new December 1st, 2025 deadline
- Added hard failure logic that will enforce the deprecation after December 1st, 2025 when the brownout setting is enabled
- The enforcement involves raising a BuildUserError to stop builds that use SSH keys with write access
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| readthedocs/projects/notifications.py | Updated notification message deadline from July 31 to December 1st, 2025 |
| readthedocs/notifications/messages.py | Updated error message deadline from July 31 to December 1st, 2025 |
| readthedocs/doc_builder/director.py | Added hard failure enforcement logic with datetime check for December 1st, 2025 and updated import to include datetime module |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Addresses feedback from #12536 to use timezone-aware datetime objects in the SSH key write access deprecation check. --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: stsewd <[email protected]>
| message_id=MESSAGE_PROJECT_SSH_KEY_WITH_WRITE_ACCESS, | ||
| dismissable=True, | ||
| ) | ||
| if hard_failure and settings.RTD_ENFORCE_BROWNOUTS_FOR_DEPRECATIONS: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
settings.RTD_ENFORCE_BROWNOUTS_FOR_DEPRECATIONS I assume this setting will True only on commercial, right?
Don't we need to add it here as False?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That setting is True on production, .org and .com. https://github.com/readthedocs/readthedocs-ops/blob/98917ade4ccd68ca31fec369ea0764df83c1cfe6/salt/base/readthedocs/settings/base.py#L83
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we are not using SSH keys on .org, so it should have no effect there; right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope, we already check for that just above
| if settings.ALLOW_PRIVATE_REPOS: |
Ref: