Forwarding this email to the public ooni-dev mailing list for posterity.
-------- Original Message -------- Subject: Ooni Release / M-Lab Deployment Specifications Date: Thu, 10 Jul 2014 08:59:47 -0700 From: Nathan Wilcox nathan@leastauthority.com To: Liz Pruszko Steininger steiningerl@rfa.org, Dan Meredith meredithd@rfa.org, Adam Lynn lynna@rfa.org, Roger Dingledine arma@mit.edu, Arturo Filastò art@torproject.org, Meredith Whittaker meredithrachel@google.com, Will Hawkins hawkinsw@opentechinstitute.org, Jordan McCarthy mccarthy@opentechinstitute.org CC: consultancy@leastauthority.com consultancy@leastauthority.com, Taylor Hornby taylor@leastauthority.com, Zooko Wilcox-OHearn zooko@leastauthority.com, Jessica Augustus jessica@leastauthority.com
(Note: There's an attached pdf which has the same content as the following message, in case the inline markup is too cumbersome for your taste.)
Dearest OTFundies, Torish Ooniites, and M-Labysians,
Summary =======
We've finished `Milestone B` of our `Ooni Release Engineering` contract with `Open Technology Fund`_, which is concerned with spelling out a clear release and deployment process for both M-Lab people and Tor people. This is the second out of six milestones.
.. _`Open Technology Fund`: https://www.opentechfund.org/
Release & Deployment Documentation ==================================
The heart of the work is in `our ooni-support README.md edits`_ to `the official ooni-support repository`_ (see `ooni-support Pull Request 36`_). Our hope is that someone new to the project who *does not interact closely* with the Ooni dev team can still deploy successfully on the M-Lab slice, which we believe makes the overall deployment more robust and flexible.
.. _`our ooni-support README.md edits`: https://github.com/LeastAuthority/ooni-support/blob/improve-readme-add-ooni-... .. _`the official ooni-support repository`: https://github.com/m-lab-tools/ooni-support/ .. _`ooni-support Pull Request 36`: https://github.com/m-lab-tools/ooni-support/pull/36
We were glad to see that there is already a well written `Ooni Release Procedure`_ for distributing well tested and packaged Ooni releases. This specification includes a link to test coverage, package signing, and target platforms. We've suggested two improvements in a `versioning specification ticket`_ and a `release planning specification ticket`_. Additionally, this document alludes to M-Lab acceptance criteria but there is no link, so we've documented that need in `a ticket for M-Lab acceptance criteria`_.
.. _`Ooni Release Procedure`: https://github.com/TheTorProject/ooni-spec/blob/master/Release-Procedure.md .. _`versioning specification ticket`: https://trac.torproject.org/projects/tor/ticket/12586#ticket .. _`release planning specification ticket`: https://trac.torproject.org/projects/tor/ticket/12587#ticket .. _`a ticket for M-Lab acceptance criteria`: https://github.com/m-lab-tools/ooni-support/issues/33
Collaboration =============
All of our effort for this `Milestone B` is embodied in issue tickets or pull requests in these places:
* the main Tor issue tracker `Ooni component tickets`_, and a narrower query for `only issues filed by Least Authority`_, and * and `the official ooni-support repository`_.
.. _`Ooni component tickets`: https://trac.torproject.org/projects/tor/query?status=accepted&status=as...
.. _`only issues filed by Least Authority`: https://trac.torproject.org/projects/tor/query?status=accepted&status=as...
For example, here are `the tickets in ooni-support for Milestone B`_ which this email summarizes.
.. _`the tickets in ooni-support for Milestone B`: https://github.com/m-lab-tools/ooni-support/issues?labels=LeastAuthority+B&a...
Ticketing Conventions ---------------------
We've adopted several conventions in `the official ooni-support repository`_ issue tracker which the M-Lab and Ooni engineers should be aware of. We've added labels for our contractual milestones of the form ``LeastAuthority X`` where X is ``A - F``, such as `the tickets in ooni-support for Milestone B`_. It's important to distinguish the Least Authority contractual milestones, which these labels are associated with, from the `Github Milestone` feature. We use the latter for general engineering goals or topical areas, as seen in `the ooni-support github milestone list`_.
.. _`the ooni-support github milestone list`: https://github.com/m-lab-tools/ooni-support/issues/milestones
We've just started adding labels to indicate requests or blocking on M-Lab or Ooni input. Currently there is only `the M-Lab label`_ but we have not yet updated older tickets with this new convention. The ``LA - Close Me`` label is for our own (internal) review process.
.. _`the M-Lab label`: https://github.com/m-lab-tools/ooni-support/issues?labels=M-Lab&mileston...
Let us know if you have any suggestions, concerns, or questions.