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.