Difference between revisions of "User:Bitmap/Beta Cycle"

From MusicBrainz Wiki
(Copy of Beta_Cycle)
 
(Proposed changes to beta cycle)
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. ===
* No: Continue.
+
 
=== 5. Is this a change that can go live immediately? ===
+
=== 6. Is the code fixing an issue not affecting the production branch? ===
* Yes: Merge to beta. Change ticket status to "In Beta Testing".
+
* Yes: Go to step 8.
* No: Figure out how to handle schema changes and the like.
 
=== 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? ===
+
=== 7. 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 10.
 +
 
 +
=== 8. Merge code to beta. ===
 +
 
 +
=== 9. Is the code fixing an issue not affecting the production branch? ===
 +
* Yes: Close ticket as "Fixed".
 +
* No: Change ticket status to "In Beta Testing".
 +
 
 +
=== 10. Is it time to release? ===
 +
* Yes: Continue.
 +
* No: Stop. Go fix something else.
 +
 
 +
=== 11. Merge beta into production. ===
 +
* Tag the release from the production branch.
 +
 
 +
=== 12. Merge master into beta. ===

Revision as of 23:27, 27 November 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 not affecting the production branch?

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

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

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

8. Merge code to beta.

9. Is the code fixing an issue not affecting the production branch?

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

10. Is it time to release?

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

11. Merge beta into production.

  • Tag the release from the production branch.

12. Merge master into beta.