This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
devel:automated_build_system [2017-03-24 07:04] – skyjake | devel:automated_build_system [2017-08-19 07:53] (current) – [Scripts] skyjake | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Automated build system (Autobuilder) ====== | ||
+ | |||
+ | This article describes the automated build system that generates the binary releases for the project. | ||
+ | |||
+ | |||
+ | ===== Overview ===== | ||
+ | |||
+ | Doomsday' | ||
+ | |||
+ | |||
+ | ==== How do I use the unstable releases ? ==== | ||
+ | |||
+ | On **Windows** and **macOS**, you can either go to the [[http:// | ||
+ | |||
+ | On **Ubuntu**, you can follow the events feed manually like described above. Alternatively, | ||
+ | |||
+ | On other operating systems, you need to build the releases from source as the automated build system only provides binaries for Windows, Mac OS X, and Ubuntu. Each build has been tagged in the Git repository; you can check it out and build as you see fit. | ||
+ | |||
+ | |||
+ | ==== Build numbers ==== | ||
+ | |||
+ | |||
+ | All builds created by the system are tagged with a //build number// whose purpose is to uniquely identify each build. Since these are (at most) daily builds, the build number equals the number of days since January 1, 2011. For instance, the build number for March 7, 2011 is 66. When the Doomsday version number is incremented, | ||
+ | |||
+ | |||
+ | ==== Build types ==== | ||
+ | |||
+ | |||
+ | ; Unstable | ||
+ | : An **unstable** build is one which has been produced automatically by the build system. These builds contain the latest bleeding edge changes, however they are not subject to the same quality assurance and testing process as **stable** builds.\\ \\ The unstable builds are ' | ||
+ | ; Candidate | ||
+ | : A **candidate** build is one which has been produced automatically by the build system, after the development process enters the final stages leading up to a **stable** release. \\ \\ During a release candidate phase, development effort switches gear from exploratory, | ||
+ | ; Stable | ||
+ | : A **stable** build is one which has been packaged for widespread distribution and has been extensively tested by the development team and volunteers.\\ \\ A stable release is made after the release candidates seem to be of high enough quality. Stable .0 releases occur on a predetermined date. Patch releases (updated stable builds) may be done at any point if there is a need to. | ||
+ | |||
+ | |||
+ | ==== Builds Repository ==== | ||
+ | |||
+ | |||
+ | ^ Location ^ Description | | ||
+ | | [[http:// | ||
+ | | [[http:// | ||
+ | | [[http:// | ||
+ | | [[https:// | ||
+ | deb-src http:// | ||
+ | |||
+ | |||
+ | |||
+ | ==== Implementation ==== | ||
+ | |||
+ | |||
+ | The build system is developed and maintained by [[: | ||
+ | |||
+ | |||
+ | ===== Master branch ===== | ||
+ | |||
+ | |||
+ | The automated build system operates on the branch called **master**, which is Doomsday' | ||
+ | |||
+ | It is crucial that any changes made in the master branch will not break the automated releases. The RSS feed will guarantee that everyone knows the current state of the master, and also who is responsible for any breakage (as the committed revisions are logged). | ||
+ | |||
+ | |||
+ | ===== Scripts ===== | ||
+ | |||
+ | |||
+ | The main build system scripts are part of the [[git_repository|Doomsday Git repository]]. | ||
+ | |||
+ | |||
+ | ==== platform_release.py ==== | ||
+ | |||
+ | |||
+ | // | ||
+ | |||
+ | The script takes no arguments. | ||
+ | |||
+ | |||
+ | ==== autobuild.py ==== | ||
+ | |||
+ | |||
+ | // | ||
+ | |||
+ | To see instructions about running the script: | ||
+ | python autobuild.py help | ||
+ | |||
+ | |||
+ | ==== pilot.py ==== | ||
+ | |||
+ | |||
+ | // | ||
+ | |||