Commit Graph

122 Commits

Author SHA1 Message Date
Neels Hofmeyr 53e758ae4c jenkins: extract common parts of build scripts to separate file
Have all complexity in one common shell script, greatly simplify the individual
scripts.

This allows to provide a specific branch or git hash to build instead of
current master. Some scripts allowed to provide branch names before, this now
also allows using git hashes directly.

Environment variables can be used to override the git hash/branch to use for
specific repositories.

Motivation for this patch: we need this to investigate failure causes more
easily.

Change-Id: I5ac2f90d006a1b2f6c246976346d852a70c89089
2017-06-02 16:58:37 +02:00
Neels Hofmeyr e62364e7fc jenkins: remove unused file: jenkins-remote-update.sh
Change-Id: I2858331393722d13e05d194656d8ee4dc17253f9
2017-06-02 14:28:59 +02:00
Neels Hofmeyr 3b906728b7 jenkins: remove unused file: jenkins-build-osmo-bts-octphy.sh
Change-Id: Ia030aebd7341f198bc768d2beb6abbe8f57a57a0
2017-06-02 14:28:49 +02:00
Neels Hofmeyr 4e0627f85a contrib/jenkins: more aggressively exclude docs
Completely discard prefix/share/doc in builds. There was still ~1.2Mb from
libosmo-netif around.

Exception: osmo-hlr installs a bootstrap sql in prefix/share/doc/osmo-hlr,
so leave that script as-is.

Change-Id: I7f3f3cfed0f56099bdff93b11a0009c1caef67c8
2017-05-29 20:30:24 +00:00
Neels Hofmeyr 445ff9b0f5 contrib/jenkins: cosmetic: add some spacing in log output
Change-Id: Ie7238d8610f2be3e074f366861782e010d814e94
2017-05-28 22:26:23 +00:00
Neels Hofmeyr 52261b3f14 contrib: add jenkins-build-osmo-hlr.sh
Change-Id: I07ca99c57eb1c47a3f83673502c8ec638e7e42b2
2017-05-29 00:18:43 +02:00
Neels Hofmeyr 0d05d3674d contrib: add jenkins-build-osmo-msc.sh
Change-Id: I2d5520cab0ad09f23e3ba49404385af80acf56f6
2017-05-29 00:18:43 +02:00
Neels Hofmeyr 62a5600051 contrib/jenkins: don't package /share/doc/libosmocore
Change-Id: Ibd2674c3f65f820a72d77c40a9e9df3e094bb41d
2017-05-25 04:09:20 +02:00
Neels Hofmeyr 1eb5cbc719 fix: contrib/jenkins sysmobts build: proper PKG_CONFIG_PATH
Change-Id: I94b706d664ba89b2ea999601ba67348973c3639c
2017-05-24 16:17:58 +00:00
Neels Hofmeyr bcd4332b6b jenkins-run: clean up also upon error
Change-Id: I949849d85d93cb47c839cd738788cf6f9b22fc12
2017-05-15 14:25:24 +02:00
Neels Hofmeyr b06485fcad cosmetic: contrib: add 'build-' to script names
Distinguish the scripts that build binaries from the others by adding "build-"
to their names.

Change-Id: I0c3b0c06210f5cb6a936c5e90ebc9167b57eeae2
2017-05-15 12:23:57 +00:00
Neels Hofmeyr c59e079573 contrib: rethink jenkins jobs with build slave approach
Previously, the idea was to run a test remotely via SSH. This has moved to
operating an actual jenkins build slave on the main unit, which simplifies
things.

Also, previously (in the old osmo-gsm-tester), there was a daemon running,
accepting new trials by a directory appearing. Now, we're directly launching a
test run, which simplifies things.

Remove all SSH stuff from the "run" script.

Compose the checksums of the built binary-tars in the actual build jobs. In the
"run" job, only combine those checksums to one file. (Otherwise we would
compose the sums after transmitting over the network to the build slave.)

Instead of storing trials in a common location on the system, just keep one
trial in the workspace per run. After the run, tar up the trial dir to enable
easy archiving of build results.

The common location on the system might still be a good idea if we're one day
going to move to concurrent runs with scheduling of hardware resources, but so
far we're having simple one-shot runs.

Change-Id: I129f5189ce2bebd761bc752b158fb8778b31010e
2017-05-15 12:23:57 +00:00
Neels Hofmeyr 0765098946 checkout dependencies from script
The jenkins jobs used to have multiple source repositories configured, but it
is really cumbersome to add all the SCM links to a jenkins job.

Instead, clone the git sources from the script, as we also do in various other
contrib/ scripts.

This partly duplicates the osmo-ci scripts, but since this code is much more
intended to run on other peoples' jenkins instances, rather keep the osmo-ci
dependency out of here.

Change-Id: Ie05cb9cd2bd884f72cbdbcc96d9c4389ffca7357
2017-05-15 12:23:57 +00:00
Neels Hofmeyr aca2624273 paths: have one common parent dir /var/tmp/osmo-gsm-tester
In the example config and the jenkins scripts, use paths below common parent
dir /var/tmp/osmo-gsm-tester.

1. example: put the state dir in /var/tmp/osmo-gsm-tester/state, instead of in
the config dir like /etc/osmo-gsm-tester.

2. contrib scripts: place trials in /var/tmp/osmo-gsm-tester/trials, and to
move into place atomically, use /var/tmp/osmo-gsm-tester/.prep-trials as
temporary location.

The OsmoGSMTester manual is currently also being updated to setup these paths,
with /var/tmp/osmo-gsm-tester owned by a common group and having group-sticky
as well has group-writable access rules.

Change-Id: I2961e9d1d9b14859b886058b54ffcb36f4d88bc1
2017-05-11 17:39:02 +02:00
Neels Hofmeyr 506edbc869 jenkins: fix trials-cleanup.sh: use 'taken' marker
trials-cleanup.sh was still using the old 'SEEN' marker and thus didn't work.

In trial.py, make sure that *every* trial that is run is marked as taken, not
only those discovered by Trial.next().

Change-Id: I8aa6b2eece5d43266a7c84e6b2974b8fe7f3cda1
2017-05-07 01:14:23 +00:00
Neels Hofmeyr 88909ddea9 jenkins-run: add env var to invocation to allow passing more opts from jenkins
Change-Id: I6deaea178cb96bf1c105657091e8798993f7a405
2017-05-03 17:28:56 +02:00
Neels Hofmeyr 8bedf8ce5f jenkins: make sure to have only the latest binary tar in a workspace 2017-05-02 17:00:30 +02:00
Neels Hofmeyr 3932191448 jenkins: run python3 unbuffered to see log scrolling by on jenkins 2017-05-02 14:49:25 +02:00
Neels Hofmeyr b02c21115d wip
Change-Id: Icce6bd83173db86a64fa621e641131758380c7cd
2017-04-09 19:11:25 +02:00
Neels Hofmeyr d46ea13d48 review jenkins scripts
Change-Id: I420910bd2d30e96605ecf3acb779ce726c75d912
2017-04-08 18:36:13 +02:00
Neels Hofmeyr 3531a192ae core implementation
code bomb implementing the bulk of the osmo-gsm-tester

Change-Id: I53610becbf643ed51b90cfd9debc6992fe211ec9
2017-04-08 15:43:19 +02:00
Neels Hofmeyr dae3d3c479 initial import
The original osmo-gsm-tester was an internal development at sysmocom, mostly by
D. Laszlo Sitzer <dlsitzer@sysmocom.de>, of which this public osmo-gsm-tester
is a refactoring / rewrite.

This imports an early state of the refactoring and is not functional yet. Bits
from the earlier osmo-gsm-tester will be added as needed. The earlier commit
history is not imported.
2017-03-28 12:37:17 +02:00