From 7776b55b4da532710d1ba1792b87153051ac5417 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Tue, 7 May 2019 16:22:02 +0300 Subject: Change: fiddle with document structure --- ci-arch.html | 45 ++++++++++++++++++------------------- ci-arch.mdwn | 70 +++++++++++++++++++++++++++++----------------------------- ci-arch.pdf | Bin 286513 -> 285107 bytes ecosystem.dot | 1 + 4 files changed, 58 insertions(+), 58 deletions(-) diff --git a/ci-arch.html b/ci-arch.html index 7b4d3fd..52b30ab 100644 --- a/ci-arch.html +++ b/ci-arch.html @@ -32,24 +32,23 @@
  • Softer requirements
  • Would be nice
  • -
  • Important use cases

    Important use cases

    These are some of the important use cases for the CI system, and how we plan CI to implement them.

    +

    Architecture

    +

    The WMF development ecosystem

    +
    +The WMF development ecosystem, roughly
    The WMF development ecosystem, roughly
    +
    +

    The figure above is simplistic, but gives the general idea of what happens when a developer is finished with a change:

    +
      +
    1. developer pushes a change to Gerrit, which trigger CI
    2. +
    3. CI builds and tests change (commit stage)
    4. +
    5. CI deploys to a test environment, runs tests against that (acceptance test stage); if everythins is OK, Gerrit is notified and requests code reviews from relevant parties
    6. +
    7. testers can request CI it deploy the change to an environment dedicated for manual testing
    8. +
    9. after a successful code review, CI merges changes to the master branch, runs all automated tests again, and deploys to the production environment
    10. +
    +

    The commit and acceptance stages are triggered as soon as developer pushes changes to be reviewed. Human reviews won’t be requested until the two stages pass, as there’s no point in spending human attention on things that are not going to be candidates for deployment to production. The two stages may be re-run after code review, to make sure nothing unforeseen has changed while the review took place.

    +

    Other stages may run in parallel with code review, and if they fail they may nullify the release candidacy of the change. For example, stages for manual and capacity testing, and security test/review; depending on the change and the component in question, some or all of these may be necessary.

    Normal change to an individual component

    -

    Design of specific aspects

    Log storage