Commit Graph

1139 Commits

Author SHA1 Message Date
Max 81bde16fb0 Add value string termination check from libosmocore
The script by Neels Hofmeyr <nhofmeyr@sysmocom.de> has actually nothing
to do with libosmocore itself - it's a generic build-time check used by
jenkins so it should be part of this repo to avoid extra checkout of
libosmocore just for this script.

Change-Id: I079218b61f512975ec5bfc7dc23503ec369cbb5a
2017-08-18 18:08:16 +00:00
Alexander Couzens 315944495c add jenkins job builder files for osmocom-nightly-nitb-split.sh
jenkins job builder is a python library to write jenkins jobs in .yml or
.json including templating and basic substition operation.

To update the job call:
Create your own jenkins_jobs.ini based on the exmaple and call
jenkins-jobs --conf ./jenkins_jobs.ini update osmocom-nightly-nitb-split.yml

Change-Id: Ie7c655c6e0e3761e7970e479cadb5ae14faa2c1c
2017-08-15 18:11:29 +02:00
Alexander Couzens a0d34c1b8d create osmocom-nightly-nitb-split.sh based on osmocom-nightly-packages.sh
Create a snapshot of the nitb split and upload it to OBS.

Change-Id: I8bf9fce1547e98c44b62a693ac4aaa4beed1aef9
2017-08-15 17:13:14 +02:00
blobb efcf6881a2 Introduce artifacts holding dependencies to speed up builds.
Basically, osmo-build.sh holds logic to check whether the necessary
artifact is available. If so it fetches artifact, unpacks it and
triggers the actual build. In case the necessary artifact is not
available osmo-build.sh simply builds all dependencies from source
by using osmo-build-dep.sh and archives deps to the ARTIFACT_STORE
afterwards.

The necessary functions to determine the artifact name from remote and
local repositories as well as the handling of artifact files live in
osmo-artifacts.sh, which is sourced by osmo-build.sh.

osmo-build.sh will be sourced by the contrib/jenkins.sh build script
inside each git repository. This automatically triggers the build,
so one need to source at the end of each jenkins.sh script.

See jenkins-openBsc.sh [1] for more details.

Artifacts will be stored as follows:

	$ARTIFACT_STORE/$JOB_NAME/<dep_1>.<branch_1>.<rev_1>_...
		..._<dep_n>.<tag_n>.tar.gz

Furthermore, ARTIFACT_STORE environment variable has to be set on all
jenkins slaves. The JOB_NAME variables is injected to each jenkins job
by jenkins.

[1] https://github.com/blobbsen/diy-artifacts/blob/master/jenkins-openBSC.sh

Change-Id: Ifee0a2f837d23b19aa5326f810234d5452e47484
2017-07-28 14:41:51 +00:00
Max 09b2ec93f1 lc15: correct default master branch
Change-Id: I6e86edc34fdb8c7bc57f87c41e05dd2338dd2506
Related: SYS#3683
2017-06-19 13:09:36 +02:00
Max 1f512a6b25 Add script for fetching BTS-specific L1 headers
Several of the supported BTS models require hw-specific L1 headers for
compilation which are stored in separate repository. Instead of
copy-pasting code which obtains those header for each BTS it's better to
create separate script.

Change-Id: I840533d5bf9233822bc0534a25c252f1cab0a7b0
Related: SYS#3682
2017-06-15 11:34:21 +02:00
Max 01bda4369b Add .gitreview
Simplify gerrit usage via .gitreview file.

Change-Id: Ib5e18e675230540c79673eaaf4dc2b75f1353f6d
2017-06-12 18:33:33 +02:00
Neels Hofmeyr e72f35cfa9 coverity: add osmo-hlr to be scanned 2017-03-16 14:04:03 +01:00
Neels Hofmeyr 5977e23db7 osmocom-nightly-packages.sh: add osmo-hlr 2017-03-14 15:28:22 +01:00
Neels Hofmeyr 75ac11a784 osmocom-nightly-packages.sh: chmod a+x 2017-03-14 15:21:10 +01:00
Neels Hofmeyr dccc24b9b3 add script to submit nightly packages
Move the script here from
http://jenkins.osmocom.org/jenkins/job/Osmocom_nightly_packages/
The jenkins job shall call this script instead.

One change: instead of 'rm -rf *', rather check for an empty dir, to not
endanger valuable data a user may have around when invoking this script out of
curiosity.
2017-03-14 15:12:52 +01:00
Neels Hofmeyr 7a83d97807 coverity: build master branches, not iu branches
Rebasing the iu branches onto the master branches is currently not happening
regularly, since I'm focusing on the VLR. Rather scan the master branches so
that the coverity issues are caught without further rebase effort required.

Comment out everything Iu related with '#IU' comment markers:
- don't checkout Iu branches
- don't build osmo-iuh (depends on libosmo-sccp iu branch)
- don't pass --enable-iu to openbsc, don't switch branches for osmo-bts

We might consider adding a separate Iu build, but then we might get the same
coverity warnings twice, so not pursuing that actively now.

Change-Id: I0d6640b893b8d65d321af904b80d89da5bf3ea6a
2016-12-11 03:20:55 +01:00
Neels Hofmeyr a0a2e0ffa7 scripts/osmo-deps.sh: show complete git hash of cloned HEAD revision
Change-Id: I0e1a65d864b075bd1dbfb579d308631f745d6937
2016-12-11 01:02:07 +01:00
Neels Hofmeyr 5044f45935 scripts/osmo-deps.sh: set -ex to log actions and exit on error
Change-Id: Ic61a51bd639e44cbb19ec67a90ab04825e512314
2016-12-11 00:58:00 +01:00
Neels Hofmeyr c4ce20a93e cosmetic: osmo-build-dep.sh: print example on error
I've been asked at least twice what the contents of the expected env
vars should be, so log an example on error.

Change-Id: I635752e6033c57bfce90d8b0732bc402bf3014c8
2016-11-30 02:45:41 +01:00
Neels Hofmeyr 6fbe3aa929 coverity: check out clean sources every time
Change-Id: I76782099e801ab89202c0103f97b7142b2c115fd
2016-10-11 14:06:36 +02:00
Neels Hofmeyr 5b4e64c305 coverity: don't pull --rebase, instead fetch and reset --hard
Change-Id: Ida553a0f38c438a02139396512ff5da038359721
2016-10-11 13:58:06 +02:00
Neels Hofmeyr 315e5929f5 add osmo-build-dep.sh from openbsc/contrib/jenkins.sh
Change-Id: I73669753a0f5030575d21e90378a1285cfe898de
2016-10-06 22:47:52 +02:00
Neels Hofmeyr f215b29441 gitignore
Change-Id: Ic61c17bbabc968c8571b7c0629f3438360563975
2016-10-01 03:35:11 +02:00
Neels Hofmeyr 7c274bc113 coverity: don't leak the tokens in build logs
Change-Id: I560f411beaca31bf2001e92a5baaa0c53dc9ce27
2016-10-01 02:08:36 +02:00
Neels Hofmeyr b497b36543 coverity: add jenkins.sh as explicit build server entry point
During the recent refactorings, I need to edit the jenkins build config at the
right time to apply renames. To make this easier in the future, add an explicit
(so far trivial) entry point for jenkins that can just be updated from git.

Change-Id: I8de9444df513b3aaaddb07b383e458186237dfab
2016-10-01 01:58:47 +02:00
Neels Hofmeyr 9c5feb21c4 coverity: add osmo-trx to Osmocom build
Change-Id: I57d4658120444a4f6884c0b35ec61e8e7034c83c
2016-10-01 01:58:47 +02:00
Neels Hofmeyr b8c7833e63 coverity: drop the single-project coverity builds
The combined Osmocom build is able to scan across all libraries at the same
time and can find more errors, making the submission of single projects for
scan obsolete.

Change-Id: I24c55d10b587837fe3e3ff6089715e6896c12dcf
2016-10-01 01:58:47 +02:00
Neels Hofmeyr a7e0987f68 coverity: rename iuh build to Osmocom
This corresponds to the scan.coverity project name this is uploaded to.

Also apply renaming in file content: call renamed build_Osmocom.sh, use dir
source-Osmocom and install-Osmocom, use a token named 'Osmocom'.

The point is that the combined build of all osmocom projects finds problems
more accurately, since coverity can analyse across all libraries at the same
time.

Still build the iuh branches, since they are basically an extension of the
current master branches (given that they are rebased onto master regularly,
which they currently are).

Name the generated tar Osmocom.tgz instead of myproject.tgz.

Change-Id: If316d54327cca8aa1b499bf35b6b22385bd83702
2016-10-01 01:58:19 +02:00
Neels Hofmeyr 5c0f21fb1d coverity: cosmetic: remove some indent
Change-Id: I292cf434c0ec7060bdda6b5794d30e18aa089a06
2016-10-01 01:57:00 +02:00
Neels Hofmeyr 57b682d63e coverity: favor upstream for conflicts during pull
An upstream branch rebase caused a merge conflict on the build server
recently. This hopefully avoids that next time.

Change-Id: Ib9f48b3b2283d1b8d1a79d42732d935236a2b1c9
2016-10-01 01:25:41 +02:00
Neels Hofmeyr cb098683a6 readme
Change-Id: Ie15e1a4407c54fa26aea6946a10bc9e80a43988d
2016-09-27 03:01:34 +02:00
Neels Hofmeyr 5a8bdabf38 prepare_source_iuh.sh: add missing layer1-api
Change-Id: I1d0c471776a2451d9d763b26a69d662b0cc11deb
2016-09-27 02:36:11 +02:00
Neels Hofmeyr 9ff27afd79 add gitignore
Change-Id: I5f67eee76ea40716c390e4d85e05af84a6c5f3d9
2016-09-27 02:16:31 +02:00
Neels Hofmeyr a0a2226d8e coverity: remove myproject.tgz before re-creating, x2
Just paranoia.

Change-Id: Ia2ae2bd5e88e6aaaab4d1ac63bf07ccd469a63b7
2016-09-27 02:12:48 +02:00
Neels Hofmeyr 6ed7020b6f coverity: have only source-iuh/, not also sources-iuh/
Change-Id: I016131a1385058a7d7c9b1906b652964861db691
2016-09-27 02:12:48 +02:00
Neels Hofmeyr 681bd9ab8d coverity scripts: base all paths on initial $PWD
This allows having the coverity scripts in a different location than
~/coverity. In particular, this allows just cloning the osmo-ci anywhere, e.g.
having ~/osmo-ci/coverity as the build location.

Change-Id: I100cc763b06562dbeaea11c7175f3c92fc01117a
2016-09-27 02:10:22 +02:00
Neels Hofmeyr 895deec006 coverity_all.sh: remove odd stray ':'
Change-Id: I7ad85c69d2df33fd170498800697e9af71353bcf
2016-09-27 02:09:49 +02:00
Neels Hofmeyr 79480b6f81 add cat-testlogs.sh
Change-Id: I2d145cb9ca636ba42194f797b5f4d59437cea131
2016-09-27 01:34:20 +02:00
Neels Hofmeyr c8f48b469c build_iuh.sh: don't build sip twice
Change-Id: I3169fd2d4ba337c65d414aeacf4c3845e8449a61
2016-09-27 01:33:22 +02:00
Neels Hofmeyr 2f8fa5301b add scripts to setup the source repositories
These reflect the state found on the osmo build-1 server

Change-Id: Icf582709b746e797364e8c1c25aa69ec858e5c2e
2016-09-27 01:28:48 +02:00
Neels Hofmeyr a62cfe1ed3 add coverity scripts found on osmo build-1
Change-Id: Ie69398dc95e8571b5a16fb529869f4c9fb3baa20
2016-09-27 01:25:09 +02:00
Holger Hans Peter Freyther 735a5b9d16 docker: Add files with all build dependencies
Create a clean build environment for amd64/i386 based on debian
jessie. Once an official build and sadly once someones 32bit build

 # Build
sudo docker build -t osmocom:ci_debian8_32bit -f Dockerfile.deb8_i386 .
sudo docker build -t osmocom:ci_debian8_64bit -f Dockerfile.deb8_amd64 .

 # Run
sudo docker run -it --rm=true osmocom:ci_debian8_32bit bash
2016-04-24 21:05:35 +02:00
Holger Hans Peter Freyther 483c54f0ab Initial commit for a CI repository 2016-04-24 11:24:30 +02:00