The purpose of this page is to help those with write access to openedx
repositories make informed decisions about when to merge pull requests.
...
When is edx-platform deployed? | edx-platform is continuously deployed to edX production. Upon merging a pull request, it is generally released to the Staging environment (courses.stage.edx.org) within one hour and the Production environments (courses.edx.org and edge.edx.org) within two hours. |
---|---|
What is the ideal merge window? | Non-2U: Monday through Friday, between 7:30 AM and 3:30 PM, Eastern Time. 2U: your team’s preferred working hours, shifted an hour or two earlier to account for the pipeline’s running time. |
What should I do before merging? | Non-2U: Inform the relevant 2U: may post in their internal Slack’s |
What if something goes wrong with my code? | Your PR may cause a bug in edX production, break tests on When you are ready, follow the normal process again to reintroduce a fixed version of your PR. |
Are there other times merging is discouraged? | Weekends. Saturdays and Sundays. |
Christmas and New Year’s Day (12/25 and 1/1). In some years, 2U requests a broader merge freeze between 12/22 and 1/4. Reach out to your the correct Slack channel if you want to merge within this time period. | |
Martin Luther King Jr. Day. The third Monday of January. | |
US President’s Day. The third Monday of February. | |
MA Patriot’s Day. The third Monday of April. | |
US Memorial Day. The last Monday of May. | |
Juneteenth. June 19th, or the weekday nearest to it. | |
US Independence Day. July 4th, or the weekday nearest to it. | |
US Labor Day. The first Monday in September. | |
Indigenous Peoples’ Day. The second Monday in October. | |
Veteran’s/Armistice Day. November 11th, or the weekday nearest to it. | |
Thanksgiving + day after. The fourth Thursday and Friday in November. | |
Additional special dates may come up. Please watch this page if you plan to merge code! |
...
When are other repositories deployed? | Frontend app repositories (ie “MFEs” / “micro-frontends”) are generally deployed to edX production manually by the owning team at 2U. |
---|---|
Backend service repositories (ie “IDAs” / “independently deployable apps”) are generally deployed to edX production manually by the owning team at 2U. | |
Python and JavaScript packages are “deployed” when they are upgraded in their respective service repositories. Because different services upgrade dependencies at different rates, the lead time from merging to production here can vary. To minimize this lead time, we recommend to quickly follow each package merge with (1) a package release and then (2) an upgrade of that package in at least one service. When upgrading the package in a service, follow that service’s merge timing guidelines. | |
Dev tools such as Devstack are not “deployed” per se, but merged changes are immediately apparent to developers once they | |
What is the ideal merge window? | You can merge to these repositories whenever you want to once you have met that repository’s review requirements. |
What should I do before merging? | Non-2U: inform the relevant 2U: inform the owning team. Depending on the repository, you may need to kick off a production deployment. |
What if something goes wrong with my code? | Your PR may cause a bug in edX production, break tests on
Keep in mind that 2U engineer may need you to take option (1) depending on their operational needs. |
Are there other times merging is discouraged? | At the moment, no, but please watch this page if you plan to merge code! |
...