File:Wikimedia development and deployment flowchart.svg
Size of this PNG preview of this SVG file: 398 × 599 pixels. Other resolutions: 159 × 240 pixels | 319 × 480 pixels | 510 × 768 pixels | 680 × 1,024 pixels | 1,360 × 2,048 pixels | 512 × 771 pixels.
Original file (SVG file, nominally 512 × 771 pixels, file size: 56 KB)
This is a file from the Wikimedia Commons. The description on its description page there is copied below.
Summary
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
I, the copyright holder of this work, hereby publish it under the following license:
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 |
Items portrayed in this file
depicts
some value
4 March 2014
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) | User created page with UploadWizard |
File usage
The following page uses this file:
Metadata
This file contains additional information, probably added from the digital camera or scanner used to create or digitize it.
If the file has been modified from its original state, some details may not fully reflect the modified file.
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% |