<html><body><p><font size="2">Great work Russell and team,</font><br><br><font size="2">I really appreciate you taking on this innovation and working on it when you can. This looks like useful work that will help prepare us for P10.  Please do continue to progress this, especially while many folks in the team have a little breathing space in our deliveries to work on interesting, innovative and useful projects like this one.</font><br><br><font size="2">Cheers,</font><br><font size="2">Leonard</font><br><br><b><font size="2">Leonard Low</font></b><font size="2"><br></font><i><font size="2">Senior Engineering Manager<br>POWER Architecture Enablement<br></font></i><b><i><font size="2">Linux Technology Centre, IBM Systems</font></i></b><br><b><i><font size="2">IBM Australia Development Labs, Canberra</font></i></b><font size="2"><br></font><font size="2">Mobile: +61 4 1338 6684<br>Fax: +61 2 6273 1808</font><br><br><img width="16" height="16" src="cid:1__=8FBB0874DF135D398f9e8a93df938690918c8FB@" border="0" alt="Inactive hide details for Russell Currey ---10/08/2018 07:33:40 pm---It has been over two years, but we finally went from snowp"><font size="2" color="#424282">Russell Currey ---10/08/2018 07:33:40 pm---It has been over two years, but we finally went from snowpatch 0.1 to 0.2, marking us completing all</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">Russell Currey <ruscur@russell.cc></font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">snowpatch@lists.ozlabs.org</font><br><font size="2" color="#5F5F5F">Cc:        </font><font size="2">mpe@ellerman.id.au, stewart@linux.ibm.com</font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">10/08/2018 07:33 pm</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">Announcing snowpatch 0.2</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br><tt><font size="2">It has been over two years, but we finally went from snowpatch 0.1 to 0.2, marking<br>us completing all the things we needed to in order to be deployed in production<br>running on upstream Patchwork.  A lot of changes were necessary in Patchwork in<br>order to introduce the features we needed, which was a large blocker.<br><br>In terms of snowpatch itself, the codebase has matured a lot - we now have<br>automatic linting and have done a lot of tidying up (though there's much more to<br>do).  We had to change HTTP libraries (from hyper to reqwest), serialisation<br>frameworks (from rustc_serialize to serde), and implement support for a completely<br>different Patchwork API to what we originally used.<br><br>It has been worth it, though, because now we are running in production for<br>multiple projects on patchwork.ozlabs.org, most notably linuxppc-dev where<br>snowpatch runs 4 different kernel builds, with intelligent sparse diffs, on every<br>complete series.  This has already found bugs and most notably, caused submitters<br>to send a v2 before any human involvement told them they should.<br><br>There's still more to do in snowpatch, but there is certainly less to do than<br>there was, so we will most likely be tagging releases much more frequently.  The<br>primary next objective is to expand what we use snowpatch for, and hopefully<br>expand its use - now that things have been running in production with no<br>disasters, I plan to announce snowpatch's existence on the mailing lists for<br>Patchwork and all the projects it's currently testing.<br><br>In addition to this, we need to do a better job of documentation and making it<br>simple for others to get snowpatch going - we're pretty sure the only production<br>instance of snowpatch out there is the one I'm running - and now that kernel.org<br>in particular has updated their Patchwork, there's the possibility that a heap of<br>projects could use snowpatch if they wanted to, so getting the word out and making<br>it easy is what we need to do.<br><br>I plan to release a blog post soon going over the snowpatch workflow which will<br>hopefully be a good reference point.<br><br>Special thanks to Andrew, without whom nothing would get done because we would<br>probably both procrastinate, but seeing each other helps remind us to do things.<br><br>Anyway, since snowpatch-0.1 we have had the following giant pile of commits:<br><br>Andrew Donnellan (55):<br>      Initial support for testing from multiple base branches<br>      docs: add new contribution guidelines document<br>      jenkins: add wait_build() method to poll Jenkins build status at intervals<br>      jenkins: get_build_status(): give a better error when JSON decoding fails<br>      settings: print better errors when config deserialisation fails<br>      docs: add details about patch tracking on patchwork.ozlabs.org<br>      settings: remove unnecessary import and associated warning<br>      Include branch name in test results sent to Patchwork<br>      patchwork: refactor GET request boilerplate into private method<br>      jenkins: refactor HTTP boilerplate<br>      Cargo.toml: add additional crate metadata<br>      Cargo.lock: update dependencies<br>      jenkins: refactor to get rid of lifetime specifiers<br>      Allow use of the --project flag in polling mode, not just with --mbox<br>      jenkins: support token authentication<br>      examples: fix authentication details in example config<br>      README: document dependencies better<br>      Cargo.lock: update dependencies<br>      patchwork: replace unneeded extern crate with use<br>      Add documentation on clippy, fix clippy warnings<br>      Cargo.toml: update dependencies<br>      Cargo.toml: update yup-hyper-mock<br>      Make TestState less horrible<br>      jenkins: get build result<br>      Cargo.toml: update dependencies<br>      Migrate from rustc_serialize to serde<br>      clippy warnings: use of assert_eq!()<br>      examples: update/improve openpower.toml<br>      settings: add basic tests<br>      settings: improve parsing of jobs<br>      git: remove empty test<br>      Update dependencies<br>      main: Use SSL connector for non-proxied connections<br>      Update Cargo.lock<br>      patchwork: Get rid of dummy URL for test results<br>      Cargo.toml: Update url, mime dependencies<br>      Cargo.toml: Update docopt dependency<br>      Cargo.toml: Update log, env_logger dependencies<br>      Use up-to-date commit ID when creating new test branch<br>      CONTRIBUTING.md: Update references, add rustfmt information<br>      README.md: Update copyright date<br>      README.md: Overview of snowpatch philosophy<br>      README.md: Update installation instructions<br>      README.md: Add information about project status and documentation<br>      docs: Add configuration documentation<br>      snowpatch 0.2.0-beta.0<br>      snowpatch 0.2.0-beta.1<br>      README.md: Add Crates.io badge<br>      Don't test pull requests<br>      Fix --series option<br>      Support pagination when using --count<br>      Fix clippy warnings<br>      Update Cargo.lock<br>      jenkins: rustfmt style fixes<br>      snowpatch 0.2.0<br><br>Joel Stanley (1):<br>      Add Travis CI<br><br>Russell Currey (39):<br>      Update README to look prettier on GitHub<br>      Move the Travis build status into the header<br>      Treat build warnings as failures<br>      Use patchwork "linkname" instead of "name"<br>      Don't retest patches that have already been tested<br>      Update dependencies<br>      Update deps, bumping url crate to 1.1<br>      HTTP proxy support<br>      Add env_logger and update dependencies<br>      Enable env_logger logging, use logging macros<br>      docs: Add documentation for logging<br>      Fix bad markdown in logging.md<br>      args: Fix (-v | --version)<br>      Update dependencies: git2 0.4, url 1.2 and more<br>      jenkins: retry when Jenkins doesn't give us a build URL<br>      hyper: Always follow redirects<br>      utils: add additional characters to path sanitiser<br>      git: Use 3-way merge when applying patches<br>      patchwork: fix polling sleep time<br>      git: print info when apply fails<br>      Replace ssh agent authentication with explicit key<br>      git: force reset + clean the repository before applying patches<br>      jenkins: post URL to test results<br>      Allow specifying a title for each job<br>      Upstream Patchwork support<br>      Hefty tests<br>      Add warn-on-fail for non-critical tests<br>      Remove jenkins_test and explicit [[bin]] section<br>      Cargo.lock minor point updates<br>      Style changes from rustfmt<br>      Add script to set up running rustfmt on commit<br>      Convert from hyper to reqwest<br>      Require project argument to be specified for daemon mode<br>      Delete remote branch after tests are done<br>      Jenkins: Try again instead of panic if API call fails<br>      Don't link to job console output, link to job instead<br>      Clean up an unnecessary clone<br>      Implement sending results to Patchwork for --patch<br>      Improve "context" sent in Patchwork checks<br><br></font></tt><br><br><BR>
</body></html>