Development/Beta Cycle: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(Copying from User:Bitmap/Beta Cycle after no objections)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Note: This process does '''not''' apply to patches that require schema changes, or that need to be hot-fixed.
=== 1. Write code ===
=== 2. Does code need reviewing? ===
* Yes: Create code 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? ===
=== 5. Merge code to master. ===
* Yes: Wait until there are >= 7 days.

=== 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? ===
=== 7. Is the code fixing an issue affecting beta but not production? ===
* Yes: Merge to beta.
* Yes: Go to step 9.
* No: Figure out how to handle schema changes and the like.
=== 6. Are there any open tickets for beta.mb? ===
* Yes: Remove the broken branches from beta and reopen the ticket. 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.