We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Running your own buildfarm server, and testing your own patches

Formal Metadata

Title
Running your own buildfarm server, and testing your own patches
Title of Series
Number of Parts
35
Author
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Reasons for running your own Buildfarm Server include that you maintain your own fork, and that you want to be able to run tests with uncommitted patches. Recent developments make doing all this a lot easier. There is a now a complete vagrant recipe for setting up an instance. The buildfarm itself now regularly creates a sample of its data suitable for populating a test buildfarm instance. And the Buildfarm client now contains support for testing arbitrary branches, including things like uncommitted/unmerged patches. This talk is about how to use all these shiny new tools. The PostgreSQL BuildFarm's original purpose, still valid today, was to ensure that committed patches build and test cleanly on a wide variety of platforms. We have members with a very wide variety of Architectures, Operating Systems, and so on. No non-distributed build system is likely to provide such coverage. However, there have long been requests to support testing other repositories, and to test patches prior to their being committed/merged. Recent developments have made both of these much easier. Although the code for running the buildfarm server has long been public, there has never been a deploy script available up to now. The new vagrant setup contains a full deploy script for Debian Stretch (which is what the community's buildfarm server runs on). This setup could easily be adapted to other platforms. It includes a download of anonymized sample data so that you can see how it runs without having to provide any data yourself. We'll examine how to get the clients to build the branches you want. We will also explain how to set up a git repository with unmerged branches, and how to get the buildfarm client to build those branches, and how to remove them when they are no longer needed.