summaryrefslogtreecommitdiff
path: root/ci-arch.html
diff options
context:
space:
mode:
Diffstat (limited to 'ci-arch.html')
-rw-r--r--ci-arch.html15
1 files changed, 15 insertions, 0 deletions
diff --git a/ci-arch.html b/ci-arch.html
index f9a1e90..9672f31 100644
--- a/ci-arch.html
+++ b/ci-arch.html
@@ -23,6 +23,8 @@
<ul>
<li><a href="#introduction">Introduction</a><ul>
<li><a href="#vision-for-ci">Vision for CI</a></li>
+<li><a href="#overall-solution-approach">Overall solution approach</a></li>
+<li><a href="#stakeholders">Stakeholders</a></li>
</ul></li>
<li><a href="#requirements">Requirements</a><ul>
<li><a href="#very-hard-requirements">Very hard requirements</a></li>
@@ -62,6 +64,19 @@
<p>This is Lars’s personal opinion, for now, but it’s based on discussions with various people while at WMF. It’s not expected to be new, radical, or controversial, compared to status quo.</p>
<p>In the future, CI at WMF serves WMF, its developers, and the Wikipedia movement by making software development more productive, more confident, and faster. The cycle time of changes (the time from idea to running in production) is short: for a trivial change, as little as five minutes. At the same time, the safety and security of production is protected: malicious changes do not get deployed, mistakes are rare, and can easily be fixed or the problematic change reverted.</p>
<p>Production here means all the software needed to run all the sites (Wikipedias in different languages, Commons, etc), as well as supporting services, including tooling and services that supports development.</p>
+<h2 id="overall-solution-approach">Overall solution approach</h2>
+<p>The overall approach to the architecture of the CI system, and the workflow supported by it, is to keep all changes in version control (git), which includes code, configuration, and scripts for building and deploying. When a change to version control is pushed, CI builds and tests the change, humans review the change, and if all seems to be in order, CI deploys to production.</p>
+<h2 id="stakeholders">Stakeholders</h2>
+<p>Stakeholders in the WMF CI system include:</p>
+<ul>
+<li>RelEng, who are responsible for keeping CI running</li>
+<li>SRE, who are responsible for the infrastrcture on which CI runs</li>
+<li>MediaWiki developers, who develop MW and its extensions, and will (eventually) be doing MW releases for external MW deployers</li>
+<li>staff and volunteer developers of anything else built, tested, and deployed by CI</li>
+<li>WMF, who pays for CI using donations</li>
+<li>the Wikipedia movement, who use sites and services operated by WMF</li>
+<li>all of humanity, who benefit from having knowledge freely disseminated</li>
+</ul>
<h1 id="requirements">Requirements</h1>
<p>This chapter lists the requirements we have for the CI system and which we design the system to fulfil.</p>
<p>Each requirement is given a semi-mnemonic unique identifier, so it can be referred to easily.</p>