-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Making an urgent fix (hotfix)
Sometimes we need to make urgent updates to the production server outside the normal release cycle, for example to fix a regression that's degrading our users' experiences. These urgent fixes are called hotfixes, and they follow the procedure described below.
-
Decide whether a PR really needs to be hotfixed. Hotfixing requires extra work by our release team, so we reserve it only for the PRs that really need it. Hotfixing is only for PRs that meet the following criteria:
- The PR must fix a bug that currently exists in production.
- The bug must be expected to significantly degrade the user experience. For example, bugs that break important features or make core functionality hard to use would qualify. Minor aesthetic issues that don't confuse users would not qualify.
- The bug must be a regression. In other words, the broken functionality must have been working recently. If it has been broken for a long time, then the fix can wait for the normal release cycle.
-
If the PR needs to be hotfixed, fill in this form to notify the release team.
-
Within a couple days, you should be contacted by the release coordinator for the current release. Work with them to get your changes into production safely. If you don't hear anything, reach out to the release team, whose contact info can be found on their wiki page.
Have an idea for how to improve the wiki? Please help make our documentation better by following our instructions for contributing to the wiki.
Core documentation
Developing Oppia
- FAQs
- Installing Oppia
- Getting started with the codebase
- Making your first PR
- Learning resources for developers
- Codebase Overview
- Coding Guidelines
- Coding style guide
- Guidelines for creating new files
- How to add a new page
- How to write frontend type definitions
- How to write design docs
- Revert and Regression Policy
- Server errors and solutions
-
Debugging
- If your presubmit checks fail
- If CI checks fail on your PR
- Finding the commit that introduced a bug
- Interpreting GitHub Actions Results
- Debugging Docs
- Debugging datastore locally
- Debugging end-to-end tests
- Debugging backend tests
- Debugging frontend tests
- Debug frontend code
- Debugging custom ESLint check tests
- Debugging custom Pylint check tests
- Debugging Stories
- Guidelines for launching new features
- Guidelines for making an urgent fix (hotfix)
- Lint Checks
- Oppia's code owners and checks to be carried out by developers
- Privacy aware programming
- Backend Type Annotations
- Bytes and string handling in Python 3
- Guidelines for Developers with Write Access to oppia/oppia
- Testing
- Release Process
Developer Reference
- Oppiabot
- Frontend
- Backend
- Translations
- Webpack
- Third-party libraries
- Extension frameworks
- Oppia-ml Extension
- Mobile development
- Mobile device testing
- Performance testing
- Build process
- Team structure
- Triaging Process
- Playbooks
- Wiki
- Past Events