miller-Metronome

Download Report

Transcript miller-Metronome

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.
Metronome’s Web Interface
Usage Concepts




Platforms
Prerequisites
Input & Output Specifications
Ordered Commands
Ordered Commands
Submit Node
Execute
Node
Execute
ExecuteNode
Node
pre_all
remote_pre_declare
platform_pre
platform_pre
platform_pre
remote_declare
remote_pre
platform_post
platform_post
platform_post
post_all
remote_task
remote_post
Use Case: Condor Developers

Fully automatic builds and tests.
Separate build and test runs.

Used for Condor release binaries.

• 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)




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.

“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

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?