Project

General

Profile

Nightly Builds » History » Revision 16

Revision 15 (laforge, 10/26/2017 07:19 PM) → Revision 16/58 (laforge, 10/28/2017 08:55 PM)

{{>toc}} 

 h1. _Nightly_ Nightly Builds 

 sysmocom has setup nightly Debian/Ubuntu Debian source package builds for the current master version of the Osmocom GSM related software. Starting from March 18, 2016, there are daily builds for 

 * Debian 8 (i586, amd64) 
 * Debian 9 (i586, amd64) 
 * xUbuntu 16.04 (i586, amd64) 
 * xUbuntu 16.10 (i586, amd64) 
 * xUbuntu 17.04 (i586, amd64) 
 * xUbuntu 17.10 (amd64) 

 The Osmocom jenkins will build source packages once a day and upload them to the Open(SUSE) Build Service (OBS).  

 See https://jenkins.osmocom.org/jenkins/job/Osmocom_nightly_packages/ for corresponding build job. 

 The OBS page is at https://build.opensuse.org/project/show/network:osmocom:nightly 

 A nice status overview on people of SuSE have created the builds is available at https://build.opensuse.org/project/monitor/network:osmocom:nightly 

 h2. How to use "network:osmocom" project for us and we have created the _osmocom:nightly_ builds 

 "network:osmocom:nightly" sub-project. The download repositories are at: 

 Jenkins will upload source packages for: 
 * http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/ libosmocore 
 * http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/ libasn1c 
 * http://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_16.04/ libosmo-abis 
 * http://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_16.10/ libosmo-netif 
 * http://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_17.04/ libosmo-sccp 
 * http://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_17.10/ 

 Adding the repository to your Debian 8 system: libsmpp34 
 <pre> * openbsc 
 sudo su * osmo-bsc 
 wget http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/Release.key  
 sha256sum Release.key * osmo-bts 
 => 487d3c309facae16e83b3863bc042033fd02c41eb7183ced196d83225abb5729 * osmo-ggsn 
 apt-key add Release.key * osmo-hlr 
 echo "deb http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/ ./" > /etc/apt/sources.list.d/osmocom-nightly.list * osmo-iuh 
 apt-get update * osmo-mgw 
 exit * osmo-msc 
 </pre> 

 h2. How are those builds created? 

 See https://jenkins.osmocom.org/jenkins/job/Osmocom_nightly_packages/ for corresponding build job. 

 The script at http://git.osmocom.org/osmo-ci/tree/scripts/osmocom-nightly-packages.sh is used to * osmo-pcap 
 * obtain a current clone of the respective git repository osmo-pcu 
 * check out the current master in that repository osmo-sgsn 
 * build debian source packages osmo-sip-connector 
 * upload them to the osmo-trx 

 The OBS *network:osmocom:nightlyt* sub-project. 

 page is at https://build.opensuse.org/project/show/network:osmocom:nightly 


 It's possible to reproduce the nightly builds locally using 
 <pre> 
 osc co 
 osc build 
 </pre> 

 To test local changes with nightly infrastructure one can create local packages the same way jenkins job above does: 
 <pre> 
 gbp buildpackage -S -uc -us --git-ignore-new --git-export-dir=/tmp 
 </pre> 
 and than repeat build steps outlined above for local build. 

 The download repositories are at: 

 * http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/ 
 * http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/ 
 * http://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_16.04/ 
 * http://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_16.10/ 
 * http://download.opensuse.org/repositories/network:/osmocom:/nightly/xUbuntu_17.04/ 

 Adding the repository to your Debian 8 system: 
 <pre> 
 sudo su 
 wget http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/Release.key  
 sha256sum Release.key 
 => 487d3c309facae16e83b3863bc042033fd02c41eb7183ced196d83225abb5729 
 apt-key add Release.key 
 echo "deb http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_8.0/ ./" > /etc/apt/sources.list.d/osmocom-nightly.list 
 apt-get update 
 exit 
 </pre> 

 h2. E-Mail Notifications of build failures 

 Build failure notifications are sent to the "gerrit-log high-noise OpenBSC gerrit-log Mailing List <gerrit-log@lists.osmocom.org> 

 There seems to be no easy way in OBS to register an e-mail address (such as a mailing list":https://lists.osmocom.org/mailman/listinfo/gerrit-log list) that gets notified in case of build errors.    What we ended up doing is to 
 * register an OBS user account "openbsc-list" with e-mail address of the mailing list 
 * include that account with a 'reader' role in the OBS "openbsc:nightly" project 
 * set the OBS user notification preferences of that "openbsc-list" user to include "Package has failed to build" for "reader" role.
Add picture from clipboard (Maximum size: 48.8 MB)