-
-
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
- How to get help
- Getting started with the project
- How the codebase is organized
- Making your first PR
- Debugging
- Testing
- Codebase policies and processes
- Guidelines for launching new features
- Guidelines for making an urgent fix (hotfix)
- Testing jobs and other features on production
- Guidelines for Developers with Write Access to oppia/oppia
- Release schedule and other information
- Revert and Regression Policy
- Privacy aware programming
- Code review:
- Project organization:
- QA Testing:
- Design docs:
- Team-Specific Guides
- LaCE/CD:
- Developer Workflow:
Developer Reference
- Oppiabot
- Git cheat sheet
- Frontend
- Backend
- Backend Type Annotations
- Writing state migrations
- Calculating statistics
- Storage models
- Coding for speed in GAE
- Adding a new page
- Adding static assets
- Wipeout Implementation
- Notes on NDB Datastore transactions
- How to handle merging of change lists for exploration properties
- Instructions for editing roles or actions
- Protocol buffers
- Webpack
- Third-party libraries
- Extension frameworks
- Oppia-ml Extension
- Mobile development
- Performance testing
- Build process
- Best practices for leading Oppia teams
- Past Events