|
|
Line 1: |
Line 1: |
| The current source code (from [[Git]]) is automatically compiled - on every commit - by an installation of [http://www.jenkins-ci.org Jenkins] : http://flightgear.simpits.org:8080/
| |
|
| |
|
| This compiles the current [[FlightGear]] and [[SimGear]] code on Linux, Mac and Windows, checking for compilation problems. Other platforms or compilers could be added if desired, for example FreeBSD, mingw or Intel C++. As part of the Mac and Windows build process, installers are produced and made available to download; these receive no testing or QA, but allow non-developers to run and test the latest code.
| |
|
| |
|
| In the future, the build server will also be used to automate (and hence, streamline) the release process, so that pre-release, release and bug-fix builds can be produced with minimal manual work.
| | = What is it ? = |
|
| |
|
| == News (03/2015) ==
| | FlightGear build server is a system based on [http://www.jenkins-ci.org Jenkins] who help core developpers to check that their source code is correct for all OS. |
| {{FGCquote
| |
| |I've stood up a new server for Jenkins. It's got a LOT more drive space and is a considerably faster machine with more resources.
| |
| It's currently running the x86_64 version of Fedora 21. It's available at http://grumble.deltasoft.com:8080<br/>
| |
|
| |
|
| It's running in parallel with the existing Jenkins server - if this can cause issues, let me know and I'll turn it off.
| | For example, some core developpers are working with Linux and have no access to a Windows installation in order to test if what they have implemented for Linux will works for Windows and even Mac. |
|
| |
|
| I notice that there's a Linux64 build slave listed under the Build Executor list. If the person that set that up wants to tweak it so that it runs locally, it would be a good test I think.
| | The build server will automatically start a new compilation after every commits pushed in the source code. We have the ability to compile the source code for Linux, Windows and Mac. |
| |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33466856/
| |
| |title=<nowiki>[Flightgear-devel] Jenkins moving...</nowiki>
| |
| |author=<nowiki>geneb</nowiki>
| |
| |date=<nowiki>2015-02-19</nowiki>
| |
| }}
| |
| }}
| |
|
| |
|
| {{FGCquote
| | He is also responsible for building release package for Linux, Windows and Mac. |
| |I've implemented a webhook who trigger a new release build as soon as a commit is done in a release branch.This webhook is already active on our fgdata repository because I was able to add it myself. However, adding a webhook in flightgear/simgear repository require to get "admin right", that I don't own. I advised James, now it's just a matter of time I think
| |
| |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33458967/
| |
| |title=<nowiki>Re: [Flightgear-devel] Release 3.4.0 is coming</nowiki>
| |
| |author=<nowiki>Clement de l'Hamaide</nowiki>
| |
| |date=<nowiki>2015-02-18</nowiki>
| |
| }}
| |
| }}
| |
|
| |
|
| ==Automated Installer Creation ==
| | FlightGear build server is available at: http://build.flightgear.org:8080 |
| As of 08/2013, we have automatically generated installers / files for:
| |
| * Linux
| |
| * Mac
| |
| * Windows
| |
|
| |
|
| Get them from here: (updated automatically) http://fgfs.goneabitbursar.com/releases/
| |
|
| |
|
| The server can handle plenty of people downloading (unlike Jenkins itself). Please file bugs in the tracker or report them here.
| |
|
| |
|
| == Nightly builds == | | = Users info = |
|
| |
|
| * [http://flightgear.simpits.org:8080/view/Mac/job/FlightGear-mac/ Current Mac nightly build]
| | As a user you can help developpers to track bugs from the latest source code, by tracking bugs you would report them on the [[mailing list]] or [http://flightgear-bugs.googlecode.com/ bug tracker] (not the forums). |
| * [http://flightgear.simpits.org:8080/job/Windows-nightly/ Current Windows nightly build]
| |
|
| |
|
| Note there are no nightly builds for Linux - please [[Building FlightGear - Linux|build from source]], most easily with [[Scripted Compilation on Linux Debian/Ubuntu|Ubuntu download and compile.sh]] (TODO: discuss OpenSuse BuildStudio!)
| | But take care to mention that you're using a nightly build, and to specify when it was built (you can find details in FlightGear's Help > About dialog): |
|
| |
|
| In each case the installer contains all the code required (including [[OSG]], [[OpenAL]] and so on) and the main FlightGear program, but '''no''' data directory. The Mac installer also lacks a launcher application, i.e can only be used from the Terminal. These builds are not intended for novice users - familiarity with FlightGear, especially the command-line arguments necessary to specify the data dir and scenery, is assumed.
| | [[File:About-dlg-2.10.png|180px]] |
|
| |
|
| In general the data directory (fgdata) should be no older than the nightly build, or problems may arise, eg missing files or incompatible Nasal scripts.
| | If you are interested in this job you want to follow these instructions: |
|
| |
|
| When running a build, please do report problems via the developer [[mailing list]] or [http://flightgear-bugs.googlecode.com/ bug tracker] (not the forums), but take care to mention that you're using a nightly build, and to specify when it was built (you can find details in FlightGear's Help > About dialog):
| | === Linux === |
| | Well, unfortunately there is nothing interesting for you here :) |
|
| |
|
| [[File:About-dlg-2.10.png]] | | Because Linux users have a powerful tools to compile and use the latest cource code, give a look at [[Scripted_Compilation_on_Linux_Debian/Ubuntu]] |
|
| |
|
| == Automated Testing == | | === Mac === |
| | You need 2 things to run the latest source code: the compiled source code and the data. |
|
| |
|
| After successfully compiling the sources, all available unit tests are executed. The full test output is available in the build workspace (On each project page there is a workspace icon), e.g.:
| |
|
| |
|
| * http://flightgear.simpits.org:8080/job/SimGear/ws/sgBuild/Testing/Temporary/LastTest.log
| | You can download the compiled source code at: [http://build.flightgear.org:8080/view/Mac/job/FlightGear-mac/lastSuccessfulBuild/artifact/ FlightGear Mac nightly build] |
| * http://flightgear.simpits.org:8080/job/SimGear-mac/ws/sgBuild/Testing/Temporary/LastTest.log
| | |
| | You can download the data with git: git clone https://git.gitorious.org/fg/fgdata.git |
| | |
| | === Windows === |
| | You need 2 things to run the latest source code: the compiled source code and the data. |
| | |
| | |
| | You can download the compiled source code at: [http://build.flightgear.org:8080/view/Windows/job/Windows-nightly/lastSuccessfulBuild/artifact/Output/ FlightGear Windows nightly build] |
| | |
| | You can download the data with git: git clone https://git.gitorious.org/fg/fgdata.git |
| | |
| | |
| | |
| | = Developpers info = |
| | |
| | Here is a brief summary about the configuration of Jenkins. |
| | |
| | If need anything you would contact either James, Gene or Clément (the mailing list is a good place to contact them if you don't know where to look at them) |
| | |
| | === master === |
| | The ''master'' is the processus who manage the distribution of build among slaves. |
| | |
| | Basically, his job is to be connected to his slaves and ask them to execute jobs who have been configured. |
| | |
| | === Linux === |
| | This is the Linux slave. In reality it is the same machine than ''master'' but with another login. That's why we want the SSH connection on ''localhost''. |
| | |
| | This slave is configured to work in /home/jenkins, that's where we have plenty of free space disk on this machine. |
| | |
| | === Mac === |
| | This is the Mac slave. |
| | |
| | === Windows === |
| | This is the Windows slave. He is located in the same LAN than master/Linux slave. There is MSVC2010 installed. |
| | |
| | This slave is configured to work in G:\jenkins, that's where we have plenty of free space disk on this machine. |
| | |
| | |
| | == Release process == |
| | |
| | The Linux slave has the responsability to provide the base-package for the Linux-release and Windows-release job. |
| | |
| | Because the Linux and Windows slave are in the same LAN it's not a problem to exchange 1GB on the network. |
| | |
| | |
| | Windows-release, Mac-release and Linux-release have to be triggered by-hand. The result is automatically uploaded to http://fgfs.goneabitbursar.com/releases/ |
|
| |
|
| == Related Discussions ==
| |
| * http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg27592.html
| |
| * http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg27918.html
| |
| * http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg28260.html7
| |
| * http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40650.html
| |
|
| |
|
| [[Category:Core developer documentation]] | | [[Category:Core developer documentation]] |