Difference between revisions of "Development/Beta Cycle"

From MusicBrainz Wiki
(6. Are there any open tickets for beta.mb (check 'Fix version==beta')?)
(Copying from User:Bitmap/Beta Cycle after no objections)
 
Line 1: Line 1:
=== 1. Write code ===
+
Note: This process does '''not''' apply to patches that require schema changes, or that need to be hot-fixed.
=== 2. Does code need reviewing? ===
 
* Yes: Create code review. Change ticket status to "In Review". Put on a non-live test server.
 
** Usually test.musicbrainz.org, a mbsandbox in the case of complicated schema changes. Await juicy shipits.
 
* No: Go to step 4.
 
  
=== 3. Has code passed code review? ===
+
=== 1. Write code. ===
 +
 
 +
=== 2. Does the code need reviewing? ===
 +
* Yes: Continue.
 +
* No: Go to step 5.
 +
 
 +
=== 3. Submit code for review. ===
 +
* Change ticket status to "In Review".
 +
 
 +
=== 4. Has the code passed code review? ===
 
* Yes: Continue.
 
* Yes: Continue.
 
* No: Fix bugs. Go back to step 1.
 
* No: Fix bugs. Go back to step 1.
=== 4. Is next release < 7 days? ===
+
 
* Yes: Wait until there are >= 7 days.
+
=== 5. Merge code to master. ===
 +
 
 +
=== 6. Is the code fixing an issue affecting master but not beta? ===
 +
* Yes: Close ticket as "Fixed". Go to step 11.
 
* No: Continue.
 
* No: Continue.
=== 5. Is this a change that can go live immediately? ===
+
 
* Yes: Merge to beta. Change ticket status to "In Beta Testing".
+
=== 7. Is the code fixing an issue affecting beta but not production? ===
* No: Figure out how to handle schema changes and the like.
+
* Yes: Go to step 9.
=== 6. Are there any open tickets for beta.mb (check 'Fix version==beta')? ===
 
[http://tickets.musicbrainz.org/secure/IssueNavigator.jspa?mode=hide&requestId=10148 fixVersion is Beta]
 
* Yes: Remove the broken branches from beta and reopen the ticket. Change ticket status to "In Progress". Go back to step 1.
 
 
* No: Continue.
 
* No: Continue.
  
=== 7. Is it time to release? ===
+
=== 8. Is the next release more than 7 days away? ===
* Yes: Merge current individual beta testing branches to master (these will have no open bugs). Merge master to production. Reset beta and next to master. Release
+
* Yes: Continue.
* No: Go fix something else.
+
* No: Go to step 11.
 +
 
 +
=== 9. Merge code to beta. ===
 +
 
 +
=== 10. Is the code fixing an issue affecting beta but not production? ===
 +
* Yes: Close ticket as "Fixed".
 +
* No: Change ticket status to "In Beta Testing".
 +
 
 +
=== 11. Is it time to release? ===
 +
* Yes: Continue.
 +
* No: Stop. Go fix something else.
 +
 
 +
=== 12. Merge beta into production. ===
 +
* Tag the release from the production branch.
 +
 
 +
=== 13. Merge master into beta. ===

Latest revision as of 23:17, 7 December 2015

Note: This process does not apply to patches that require schema changes, or that need to be hot-fixed.

1. Write code.

2. Does the code need reviewing?

  • Yes: Continue.
  • No: Go to step 5.

3. Submit code for review.

  • Change ticket status to "In Review".

4. Has the code passed code review?

  • Yes: Continue.
  • No: Fix bugs. Go back to step 1.

5. Merge code to master.

6. Is the code fixing an issue affecting master but not beta?

  • Yes: Close ticket as "Fixed". Go to step 11.
  • No: Continue.

7. Is the code fixing an issue affecting beta but not production?

  • Yes: Go to step 9.
  • No: Continue.

8. Is the next release more than 7 days away?

  • Yes: Continue.
  • No: Go to step 11.

9. Merge code to beta.

10. Is the code fixing an issue affecting beta but not production?

  • Yes: Close ticket as "Fixed".
  • No: Change ticket status to "In Beta Testing".

11. Is it time to release?

  • Yes: Continue.
  • No: Stop. Go fix something else.

12. Merge beta into production.

  • Tag the release from the production branch.

13. Merge master into beta.