130 likes | 140 Views
Learn three ways to improve software: automated builds and tests, continuous integration, and platform and version testing using the UW Metronome. Discover the benefits, advantages, and use cases of this automated build and test facility at UW-Madison.
E N D
Improving Software with the UW Metronome Becky Gietzel Todd L Miller
Three Ways to Improve Software • Automated Builds and Tests • Continuous Integration • Platform and Version Testing
Talk Overview • Introduction to the UW Metronome • Use Case: Condor Developers • Getting Started with the UW Metronome
The Metronome at UW • An automated build and test facility at UW-Madison • Infrastructure (“BaTLab”) maintains services and fifty distinct platforms. • Software (“Metronome”) reproducibly and reliably runs builds or tests of your software.
Metronome Philosophy • Reproducibility. • The benefits of reproducible testing need not 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 • 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.
Usage Concepts • Platforms • Prerequisites • Input & Output Specifications • Ordered Commands
Ordered Commands Execute Node Execute Node Submit Node Execute Node pre_all remote_pre_declare remote_declare platform_pre platform_pre platform_pre remote_pre platform_post platform_post platform_post remote_task remote_post post_all
Use Case: Condor Developers • Fully automatic builds and tests. • Separate build and test runs. • Easy to see if build or test failed. • Easy to fetch a particular build. • Easy to develop the test suite. • Enables cross-platform testing. • Used for Condor release binaries.
Condor Developers (2) • 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) • “Nice” features. • Printing URL of run results on submission. • Streaming user-level output and error. • “Big” features. • Speed improvements on submit nodes. • Concurrent testing. • Major web interface additions.
Getting Started 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 Any questions?