Greg Grossmeier has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/115425

Change subject: Dev and deploy flowchart using blockdiag
......................................................................

Dev and deploy flowchart using blockdiag

Change-Id: Ib0ea554a270259f7cd0e595341aa15868b8a122c
---
A .gitignore
A devdeployflow/devdeployflow.diag
2 files changed, 161 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/tools/releng 
refs/changes/25/115425/1

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..49b028e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+*.png
+*.svg
+*.pdf
+*.swp
+*.*~
diff --git a/devdeployflow/devdeployflow.diag b/devdeployflow/devdeployflow.diag
new file mode 100644
index 0000000..27b8bd8
--- /dev/null
+++ b/devdeployflow/devdeployflow.diag
@@ -0,0 +1,156 @@
+blockdiag {
+    // Set node metrix
+    // node_width = 200;  // default value is 128
+    node_height = 70;  // default value is 40
+
+    // set default shape
+    default_shape = roundedbox;  // default value is 'box'
+
+
+    // Product stages
+    strategic_planning [label = "Strategic planning\n(WMF Product)"];
+    sprint_prio [label = "Sprint prioritization"];
+    design_mockup [label = "Design mockup"];
+    build [label = "Build"];
+       goto_dev [label = "Go to dev cycle"];
+
+    // Product flow
+    strategic_planning -> sprint_prio
+    sprint_prio -> design_mockup
+    design_mockup -> build
+    build -> goto_dev
+
+
+    // Security stages
+    sec_bug_aware [label = "Made aware of\nsecurity issue\n(via email 
security@\nor otherwise)"];
+    sec_bug_report [label = "Report Security\n(private) bug in BZ"];
+    sec_dev [label = "Local development/testing only"];
+    sec_patch_in_BZ [label = "Attach patch to\nsecurity bug in BZ\n(one per 
live wmfXX\nand supported release)"];
+    sec_patch_review [label = "Security team reviews\nand tests the patch"];
+    sec_coord_deploy [label = "Coordinate\nsecurity deploy"];
+    sec_deploy [label = "Deploy security patches\n(all live wmfXX versions)"];
+    sec_get_cve [label = "Request CVEs"];
+    sec_coord_release [label = "Coordinate\nsecurity release"];
+    sec_release [label = "Do security release"];
+    sec_merge_master [label = "Merge security patches into master"];
+
+    // Security flow
+    sec_bug_aware -> sec_bug_report
+    sec_bug_report -> sec_dev
+    sec_dev -> sec_patch_in_BZ
+    sec_patch_in_BZ -> sec_patch_review
+    sec_patch_review -> sec_coord_deploy
+    sec_coord_deploy -> sec_deploy
+    sec_deploy -> sec_get_cve
+    sec_get_cve -> sec_coord_release
+    sec_coord_release -> sec_release
+    sec_release -> sec_merge_master
+ 
+
+    // Bug stages
+    report_bug [label = "Report bug"];
+    bug_reported [label = "Bug reported"];
+    bug_languish [label = "Languish"];
+    bug_reviewed [label = "Reviewed/\nprioritized"];
+    bug_assigned [label = "BZ Status:\nAssigned"];
+    bug_patch [label = "BZ Status:\nPatch in Gerrit"];
+//    bug_resolved [label = "BZ Status:\nResolved/Fixed"];
+
+
+    // Development stages
+    dev [label = "Local development"];
+    dev_labs_instance [label = "Code on developers'\nlab instance"];
+    patch_submission [label = "Patchset in Gerrit"];
+    code_reviews [label = "Code reviews in Gerrit\n(+/-1s, comments)"];
+    unit_tests_precommit [label = "Pre-commit\nunit tests"];
+    manual_testing_presubmit [label = "Manual testing\n(Pre Submit)"];
+    master [label = "Code committed in master\n(+2)"];
+    unit_tests_postcommit [label = "Post-commit\nunit tests"];
+
+    beta_cluster [label = "Code on Beta Cluster"];
+    manual_testing_beta [label = "Manual testing\n(Beta Cluster)"];
+    browser_tests_beta [label = "Beta Cluster\nbrowser tests"];
+    review_browsertest_beta [label = "Manual review of \nBeta Cluster browser 
tests"];
+    verified_beta_breakage_cond [label = "Verified breakage\nin Beta 
Cluster?", shape = flowchart.condition];
+    revert_beta [label = "Revert offending commit"];
+
+ 
+    // Deployment stages
+    create_wmf_branch [label = "WMF deployment branch\n(wmfXX) created"];
+    wmf_deploy_p0 [label = "WMF deployment\nPhase0"];
+    wmf_deploy_p1 [label = "WMF deployment\nPhase1"];
+    wmf_deploy_p2 [label = "WMF deployment\nPhase2"];
+
+    manual_testing_p0 [label = "Manual testing\n(Production Phase0)"];
+    manual_testing_p1 [label = "Manual testing\n(Production Phase1)"];
+    manual_testing_p2 [label = "Manual testing\n(Production Phase2)"];
+    browser_tests_production [label = "Production\nbrowser tests"];
+
+    review_browsertest_prod [label = "Manual review of\nproduction browser 
tests"];
+    verified_prod_breakage_cond [label = "Verified\nbreakage?", shape = 
flowchart.condition];
+    revert_beta [label = "Revert offending commit"];
+
+    prod_fix_quick_cond [label = "Fix production quickly?"];
+    fix_prod [label = "Fix production!"];
+    backport_master [label = "Backport fix\nto master"];
+    prod_revert [label = "Revert broken code"];
+
+    success [label = "Success!", color = "green"];
+
+    //
+    // Connections / edges
+    // (Labels use short text only)
+    //
+
+
+    // bug flow
+    bug_reported -> bug_reviewed
+    bug_reported -> bug_languish
+    bug_reviewed -> bug_assigned
+    bug_assigned -> dev
+
+    // dev flow
+    dev -> dev_labs_instance
+    dev_labs_instance -> manual_testing_presubmit
+    manual_testing_presubmit -> patch_submission
+    patch_submission -> unit_tests_precommit
+    patch_submission -> bug_patch
+    unit_tests_precommit -> code_reviews
+    code_reviews -> master
+    master -> unit_tests_postcommit
+
+    master -> beta_cluster
+    beta_cluster -> manual_testing_beta
+    beta_cluster -> browser_tests_beta
+    browser_tests_beta -> review_browsertest_beta
+    review_browsertest_beta -> verified_beta_breakage_cond
+    manual_testing_beta -> verified_beta_breakage_cond
+    verified_beta_breakage_cond -> revert_beta [label = "Yes", 
textcolor="red"];
+    revert_beta -> report_bug
+    verified_beta_breakage_cond -> create_wmf_branch [label = "No", 
textcolor="green"];
+    
+    create_wmf_branch -> wmf_deploy_p0
+    wmf_deploy_p0 -> wmf_deploy_p1
+    wmf_deploy_p1 -> wmf_deploy_p2
+
+    wmf_deploy_p0 -> manual_testing_p0
+    manual_testing_p0 -> browser_tests_production
+    wmf_deploy_p1 -> manual_testing_p1
+    manual_testing_p1 -> browser_tests_production
+    wmf_deploy_p2 -> manual_testing_p2
+    manual_testing_p2 -> browser_tests_production
+
+    browser_tests_production -> review_browsertest_prod
+    review_browsertest_prod -> verified_prod_breakage_cond
+
+    verified_prod_breakage_cond -> success [label = "No", textcolor="green"];
+
+    verified_prod_breakage_cond -> prod_fix_quick_cond [label = "Yes", 
textcolor = "red"];
+    prod_fix_quick_cond -> fix_prod [label = "Yes"];
+    fix_prod -> backport_master
+    backport_master -> success
+
+    prod_fix_quick_cond -> prod_revert [label = "No"];
+    prod_revert -> report_bug
+
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/115425
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib0ea554a270259f7cd0e595341aa15868b8a122c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/tools/releng
Gerrit-Branch: master
Gerrit-Owner: Greg Grossmeier <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to