Tinderbox (software)
Encyclopedia
Tinderbox is a software suite
that provides continuous integration
capability. Tinderbox allows developer
s to manage software build
s and to correlate build failures on various platforms
and configurations with particular code changes.
Tinderbox is described as "a detective tool for software development
". It allows the developer to see what is happening in the source tree. It shows who checked in what (by asking Bonsai
); what platforms have built successfully; what platforms are broken and exactly how they are broken (the build logs); and the state of the files that made up the build (cvsblame).
tinderbox: tree: SeaMonkey
tinderbox: builddate: 1021331520
(...)
tinderbox: status: success
tinderbox: END
(full build log)
The server then constructs a table with time on the vertical axis and the various builds on the horizontal axis.
. Well-known projects which Tinderbox include Mozilla
and FreeBSD
. It is written in Perl
and is released under the Mozilla Public License
, making it free and open source software
.
Software suite
A software suite or application suite is a collection of computer programs, usually application software and programming software of related functionality, often sharing a more-or-less common user interface and some ability to smoothly exchange data with each other.Sometimes software makers...
that provides continuous integration
Continuous integration
In software engineering, continuous integration implements continuous processes of applying quality control — small pieces of effort, applied frequently...
capability. Tinderbox allows developer
Programmer
A programmer, computer programmer or coder is someone who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software. One who practices or professes a formal approach to...
s to manage software build
Software build
In the field of computer software, the term software build refers either to the process of converting source code files into standalone software artifact that can be run on a computer, or the result of doing so...
s and to correlate build failures on various platforms
Platform (computing)
A computing platform includes some sort of hardware architecture and a software framework , where the combination allows software, particularly application software, to run...
and configurations with particular code changes.
Tinderbox is described as "a detective tool for software development
Software development
Software development is the development of a software product...
". It allows the developer to see what is happening in the source tree. It shows who checked in what (by asking Bonsai
Bonsai CVS code management system
Bonsai is a web-based CVS repository browser designed for large programming projects. It was initially developed to fill the Mozilla project's need for good tools to allow multiple developers to edit its extremely large codebase.- Features :...
); what platforms have built successfully; what platforms are broken and exactly how they are broken (the build logs); and the state of the files that made up the build (cvsblame).
Design
Tinderbox is composed of a server with clients running builds and reporting status via mail. The server receives mail from tinderbox clients in the form oftinderbox: tree: SeaMonkey
tinderbox: builddate: 1021331520
(...)
tinderbox: status: success
tinderbox: END
(full build log)
The server then constructs a table with time on the vertical axis and the various builds on the horizontal axis.
Distribution
Tinderbox is maintained and hosted by the Mozilla CorporationMozilla Corporation
The Mozilla Corporation is a wholly owned subsidiary of the Mozilla Foundation that coordinates and integrates the development of Internet-related applications such as the Mozilla Firefox and SeaMonkey Navigator web browsers and the Mozilla Thunderbird email client by a growing global community of...
. Well-known projects which Tinderbox include Mozilla
Mozilla
Mozilla is a term used in a number of ways in relation to the Mozilla.org project and the Mozilla Foundation, their defunct commercial predecessor Netscape Communications Corporation, and their related application software....
and FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
. It is written in Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
and is released under the Mozilla Public License
Mozilla Public License
The Mozilla Public License is a free and open source software license. Version 1.0 was developed by Mitchell Baker when she worked as a lawyer at Netscape Communications Corporation and version 1.1 at the Mozilla Foundation...
, making it free and open source software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...
.
Impact
By extension, "tinderbox" is also a name for machines which are exclusively or mainly used for continuous build integration/testing without necessarily employing the tinderbox software suite to do so.See also
- BugzillaBugzillaBugzilla is a Web-based general-purpose bugtracker and testing tool originally developed and used by the Mozilla project, and licensed under the Mozilla Public License....
- BuildBotBuildBotBuildBot is a software development continuous integration tool which automates the compile/test cycle required to validate changes to the project code base...
- Hudson (software)Hudson (software)Hudson is a continuous integration tool written in Java, which runs in a servlet container, such as Apache Tomcat or the GlassFish application server. It supports SCM tools including CVS, Subversion, Git and Clearcase and can execute Apache Ant and Apache Maven based projects, as well as arbitrary...
- Jenkins (software)Jenkins (software)Jenkins, previously known as Hudson, is an open source continuous integration tool written in Java. The project renamed itself after a dispute with Oracle who claims the right to trademark the Hudson name and has applied for such a trademark as of December 2010...
- Regression testingRegression testingRegression testing is any type of software testing that seeks to uncover new errors, or regressions, in existing functionality after changes have been made to a system, such as functional enhancements, patches or configuration changes....
External links
- Mozilla's Tinderbox homepage, describing version 1
- Ken Estes's Tinderbox 2.0 server re-write
- John Keiser's Tinderbox 3
- Tinderbox3 documentation on Mozilla's Bugzilla
- FreeBSD Tinderbox (continuation of Tinderbox3)