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