Improving Software with the UW Metronome Becky Gietzel
Improving Software with the UW Metronome Becky Gietzel Todd L Miller
Three Ways to Improve Software l l l Automated Builds and Tests Continuous Integration Platform and Version Testing
Talk Overview l l l Introduction to the UW Metronome Use Case: Condor Developers Getting Started with the UW Metronome
The Metronome at UW l l l An automated build and test facility at UW-Madison Infrastructure (“Ba. TLab”) maintains services and fifty distinct platforms. Software (“Metronome”) reproducibly and reliably runs builds or tests of your software.
Metronome Philosophy l Reproducibility. • The benefits of reproducible testing need not • l be further elaborated. Reproducible builds • don’t have to be stored (for very long). • don’t require a specific person or machine to build. • simplify life-cycle management. Support, rather than restrict, users.
Advantages of Metronome l l Not tied to a particular tool or language. Automatically-generated database of build and test results, with web interface. Uses Condor to distribute runs. The UW Metronome maintains an infrastructure on your behalf.
Metronome’s Web Interface
Usage Concepts l l Platforms Prerequisites Input & Output Specifications Ordered Commands
Ordered Commands Submit Node Execute. Node pre_all remote_pre_declare platform_pre remote_declare remote_pre platform_post post_all remote_task remote_post
Use Case: Condor Developers l Fully automatic builds and tests. Separate build and test runs. l Used for Condor release binaries. l • Easy to see if build or test failed. • Easy to fetch a particular build. • Easy to develop the test suite. • Enables cross-platform testing.
Condor Developers (2) l l Nightly builds and tests. Hourly runs on a subset of platforms. • Windows/Linux pairing especially helpful. Tests patched OSes. Still want lower-latency testing.
Condor Developers (3) l “Nice” features. l “Big” features. • Printing URL of run results on submission. • Streaming user-level output and error. • Speed improvements on submit nodes. • Concurrent testing. • Major web interface additions.
Getting Started l Metronome documentation • nmi. cs. wisc. edu Build and Test Lab info • nmi. cs. wisc. edu/account_request • nmi. cs. wisc. edu/support Live Lab status • nmi-web. cs. wisc. edu/nmi l Any questions?
- Slides: 13