File:Wikimedia development and deployment flowchart.svg
Original file (SVG file, nominally 512 × 771 pixels, file size: 56 KB)
Captions
Summary
[edit]DescriptionWikimedia development and deployment flowchart.svg |
English: This flowchart represents the development and deployment process in use by the Wikimedia Foundation as of March 2014. |
Date | |
Source | Own work |
Author | Greg Grossmeier |
Licensing
[edit]This file is made available under the Creative Commons CC0 1.0 Universal Public Domain Dedication. | |
The person who associated a work with this deed has dedicated the work to the public domain by waiving all of their rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.
http://creativecommons.org/publicdomain/zero/1.0/deed.enCC0Creative Commons Zero, Public Domain Dedicationfalsefalse |
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 16:24, 4 March 2014 | 512 × 771 (56 KB) | Greg (WMF) (talk | contribs) | User created page with UploadWizard |
You cannot overwrite this file.
File usage on Commons
There are no pages that use this file.
File usage on other wikis
The following other wikis use this file:
- Usage on meta.wikimedia.org
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
Short title | blockdiag |
---|---|
Image title | 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"]; 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 group product_group { fontsize = 16 label = "WMF Product"; strategic_planning; sprint_prio; design_mockup; 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/\ntesting 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 [folded]; 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 [folded]; group security_group { fontsize = 16 label = "Security Bug and Dev" color = "pink" sec_bug_aware; sec_bug_report; sec_dev; sec_patch_in_BZ; sec_patch_review; sec_coord_deploy; sec_deploy; sec_get_cve; sec_coord_release; sec_release; sec_merge_master; } // Bug stages bug_reported [label = "Bug reported"]; bug_languish [label = "Languish", color = "red"]; bug_reviewed [label = "Reviewed/\nprioritized"]; bug_assigned [label = "BZ Status:\nAssigned\n(Optional)"]; bug_patch [label = "BZ Status:\nPatch in Gerrit"]; group bug_group { fontsize = "16" label = "Bug Tracker" color = "grey" bug_reported; bug_languish; bug_reviewed; bug_assigned; }
// 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\n in master\n(+2)"]; unit_tests_postcommit [label = "Post-commit\nunit tests"]; group dev_group { fontsize = "16" label = "Development" color = "aqua" dev; dev_labs_instance; patch_submission; code_reviews; unit_tests_precommit; manual_testing_presubmit; master; unit_tests_postcommit; }
beta_cluster [label = "Beta Cluster\nupdated with\ncode"]; 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\nbrowser tests"]; verified_beta_breakage_cond [label = "Verified\nbreakage\nin Beta\nCluster?", shape = flowchart.condition, height = "100"]; revert_beta [label = "Revert offending commit"]; report_bug_beta [label = "Report bug"]; group beta_group { fontsize = "16" label = "Beta Cluster" color = "lightgreen" beta_cluster; manual_testing_beta; browser_tests_beta; review_browsertest_beta; verified_beta_breakage_cond; revert_beta; report_bug_beta; } // 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]; success [label = "Success!", color = "green"]; 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"]; report_bug [label = "Report bug"]; // // Connections / edges // (Labels use short text only) //
// bug flow bug_reported -> bug_reviewed, bug_languish bug_reviewed -> bug_assigned bug_assigned -> dev [folded]; // dev flow dev -> dev_labs_instance dev_labs_instance -> manual_testing_presubmit manual_testing_presubmit -> patch_submission patch_submission -> bug_patch patch_submission -> unit_tests_precommit [folded] unit_tests_precommit -> code_reviews code_reviews -> master master -> unit_tests_postcommit master -> beta_cluster [folded]; beta_cluster -> browser_tests_beta beta_cluster -> manual_testing_beta [folded]; browser_tests_beta -> review_browsertest_beta manual_testing_beta, review_browsertest_beta -> verified_beta_breakage_cond verified_beta_breakage_cond -> revert_beta [label = "Yes", textcolor="red"] verified_beta_breakage_cond -> create_wmf_branch [label = "No", textcolor = "green", folded]; revert_beta -> report_bug_beta create_wmf_branch -> wmf_deploy_p0 [folded]; wmf_deploy_p0 -> manual_testing_p0, wmf_deploy_p1 wmf_deploy_p1 -> manual_testing_p1, wmf_deploy_p2 wmf_deploy_p2 -> manual_testing_p2 manual_testing_p0, manual_testing_p1, manual_testing_p2 -> browser_tests_production group prod_group { label = "Production" fontsize = "16" color = "lightblue" wmf_deploy_p0; wmf_deploy_p1; wmf_deploy_p2; manual_testing_p0; manual_testing_p1; manual_testing_p2; browser_tests_production; review_browsertest_prod; verified_prod_breakage_cond; backport_master; prod_fix_quick_cond; fix_prod; prod_revert; backport_master; } browser_tests_production -> review_browsertest_prod [folded]; review_browsertest_prod -> verified_prod_breakage_cond verified_prod_breakage_cond -> success [label = "No", textcolor="green", folded] backport_master -> success verified_prod_breakage_cond -> prod_fix_quick_cond [label = "Yes", textcolor = "red"]; prod_fix_quick_cond -> fix_prod [label = "Yes"] prod_fix_quick_cond -> prod_revert [label = "No"]; fix_prod -> backport_master
prod_revert -> report_bug} |
Width | 100% |
Height | 100% |