summaryrefslogtreecommitdiffstats
path: root/contrib
AgeCommit message (Collapse)AuthorFilesLines
2017-09-07jenkins: properly clean previous artifactsNeels Hofmeyr1-1/+1
Drop the second 'rm -f' from the rm shell command (typo). Remove all artifacts matching *.build-*.{tgz,md5} because if a job changes the name of its artifact, the previous artifacts would remain. (I hit this with the new scripts being originally wrong and all producing 'osmo-msc.*' artifacts, and those stuck around in the workspace even after the name was fixed.) Change-Id: I00d246226f4c723696bb737ed707cfd0e4c33714
2017-09-07jenkins: build from new osmo-{msc,bsc,mgw,sgsn} repositoriesneels/testNeels Hofmeyr6-4/+64
The idea is to build each binary separately: even though osmo-msc requires libosmo-sccp, which already includes the osmo-stp binary, we still want osmo-stp to be built from a separate script. The reason: to track down regressions, we can change the versions each binary is built from separately. The additional build effort and jenkins script multitude is acceptable. Change-Id: I194ad5169dbe013c8e1cf9d631033cb2576744dd
2017-09-07jenkins-common: ensure requested binaries indeed have been builtNeels Hofmeyr1-0/+9
Recent change Ib1a00b2149453fedf9ece0460dd4d6e83f774d45 drops binaries from a build artifact by leaving only explicitly requested ones. This adds a check that the requested ones indeed exist. Change-Id: Iceddeee6aebb1cdb54d7304495c3e332390261db
2017-09-05jenkins: per build, drop programs built "unintentionally"Neels Hofmeyr9-8/+24
Each of the jenkins-build-* scripts intends to build a specific set of programs. While compiling dependencies, other programs may end up in $prefix/bin. Drop those other binaries to reduce potential confusion. Add arguments to the create_bin_tgz function: callers need to list exactly the $prefix/bin/* binaries that should be tar'd. All others are first removed from the prefix. Adjust existing scripts to provide such binary names. Change-Id: Ib1a00b2149453fedf9ece0460dd4d6e83f774d45
2017-08-31contrib: Add scripts to build osmo-pcuPau Espin Pedrol2-0/+29
Change-Id: I90e7d2a79fb4ab7cc7fae5f3a1287a2e5bb748ab
2017-08-18Split osmo-trx from osmo-bts-trxPau Espin Pedrol2-1/+9
In the future, some environments/products may come with a trx interface pre-installed. Start work to easily disable launching it. Change-Id: I556c3e2ba16753393c7e70800c533a18122daeaa
2017-07-06contrib: Disable doxygen doc generationPau Espin Pedrol6-11/+7
The --disable-doxygen was recently added to libosmocore and libosmo-netif. No need to manually remove documentation anymore. Change-Id: I3ca3dd1c115fc6784e4dc26a5ff5bf35d65b4e22
2017-07-05contrib: Fix removal of doc directoriesPau Espin Pedrol1-1/+1
The docs are actually not removed because the shell takes {libosmocore,libosmo-sccp} as a string literal if found inside quote marks, see [1] for more information. [1] https://unix.stackexchange.com/questions/67757/wildcards-inside-quotes Change-Id: Ida8941525db2d6a80539ffda29fb4fa74dbb1e16
2017-06-29jenkins: build msc using libosmo-sccp masterNeels Hofmeyr1-1/+1
Since 81c0bcab068174036f6897e69311f413d94c74d4 was merged, it is not necessary to build the neels/aoip branch anymore. Other patches on that branch are not necessary either. Change-Id: I850e0dd2fc61d59d56c0dd69ee00b6e19685fb95
2017-06-23jenkins: fix: recent change broke jenkins buildNeels Hofmeyr1-6/+5
Recent commit 851802b927ccfcb061a2774fdc5de12141426b5c introduces a build branch, which works fine, but only on the first run. A second run in the same repos can't delete the branch git is currently on. I've had enough of git being impossibly difficult in UI to simply checkout a hash or a branch now. Completely wipe out the git repository and clone a fresh one every time. Unfortunately, 'git clone -b' doesn't allow passing a commit hash, so we still need to do a clone-then-checkout dance. At least now we know it will work the same on every run. Change-Id: I6aca4c53a796312248a189b815dfc1198a173ed9
2017-06-23jenkins-build-common.sh: cosmetic: clear repos a bit laterNeels Hofmeyr1-1/+1
If we rm -rf * and then checkout a branch, the log prints the entire file tree as deleted. Instead, rm just before the git reset --hard, which avoids the extra output. Change-Id: Ib5b28a82f05d941eae8f3a2f468ef1e9d67e6180
2017-06-23jenkins-build-common.sh: fix being stuck on branchNeels Hofmeyr1-1/+3
It's hard to allow both branch names and git hashes. For a branch, we want to prepend 'origin' to use the upstream branch. For a git hash, we don't. We so far prepend 'origin/' if the current branch name doesn't resolve, but that's not enough. If a local 'master' branch exists, we would stay on that branch instead of origin/master. Rather, prepend 'origin/' if 'origin/$branch' exists. Git hashes should not exist as 'origin/123abc...' and used as-is, where branches from origin should be updated to upstream by prepending 'origin/'. Also create a local branch to build. Always force-remove the branch and re-create from the origin/name or git hash. Keep the reset --hard for paranoia. Change-Id: I2e610b357f8559c6b6ffb544eb0a952f04dd9f70
2017-06-23jenkins: aoip: move to libosmocore masterNeels Hofmeyr1-1/+1
The patches needed for AoIP have now been merged to libosmocore master. Change-Id: I31f627f24e0e111c2c3461dbdc88f0e54ebf0c8c
2017-06-18jenkins-run: create bin.tgz separately from run.tgzNeels Hofmeyr1-1/+4
The binary tars are fairly large, and usually one wants to investigate the run dir logs without any need to download the binaries. Archive the binary tars separately from the run logs. Change-Id: I23e6df0d30fc9ea7c5b48bb2364be075d910bfcd
2017-06-13aoip: use libosmocore neels/aoip branch until patches are mergedNeels Hofmeyr1-1/+1
Change-Id: I22623135486e41bfc2d32de614124276f330dc36
2017-06-02jenkins: extract common parts of build scripts to separate fileNeels Hofmeyr6-366/+192
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-02jenkins: remove unused file: jenkins-remote-update.shNeels Hofmeyr1-24/+0
Change-Id: I2858331393722d13e05d194656d8ee4dc17253f9
2017-06-02jenkins: remove unused file: jenkins-build-osmo-bts-octphy.shNeels Hofmeyr1-70/+0
Change-Id: Ia030aebd7341f198bc768d2beb6abbe8f57a57a0
2017-05-29contrib/jenkins: more aggressively exclude docsNeels Hofmeyr4-4/+4
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-28contrib/jenkins: cosmetic: add some spacing in log outputNeels Hofmeyr3-1/+30
Change-Id: Ie7238d8610f2be3e074f366861782e010d814e94
2017-05-29contrib: add jenkins-build-osmo-hlr.shNeels Hofmeyr1-0/+69
Change-Id: I07ca99c57eb1c47a3f83673502c8ec638e7e42b2
2017-05-29contrib: add jenkins-build-osmo-msc.shNeels Hofmeyr1-0/+82
Change-Id: I2d5520cab0ad09f23e3ba49404385af80acf56f6
2017-05-25contrib/jenkins: don't package /share/doc/libosmocoreNeels Hofmeyr3-0/+12
Change-Id: Ibd2674c3f65f820a72d77c40a9e9df3e094bb41d
2017-05-24fix: contrib/jenkins sysmobts build: proper PKG_CONFIG_PATHNeels Hofmeyr1-0/+3
Change-Id: I94b706d664ba89b2ea999601ba67348973c3639c
2017-05-15jenkins-run: clean up also upon errorNeels Hofmeyr1-1/+7
Change-Id: I949849d85d93cb47c839cd738788cf6f9b22fc12
2017-05-15cosmetic: contrib: add 'build-' to script namesNeels Hofmeyr4-0/+0
Distinguish the scripts that build binaries from the others by adding "build-" to their names. Change-Id: I0c3b0c06210f5cb6a936c5e90ebc9167b57eeae2
2017-05-15contrib: rethink jenkins jobs with build slave approachNeels Hofmeyr5-37/+41
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-15checkout dependencies from scriptNeels Hofmeyr4-20/+21
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-11paths: have one common parent dir /var/tmp/osmo-gsm-testerNeels Hofmeyr2-4/+4
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-07jenkins: fix trials-cleanup.sh: use 'taken' markerNeels Hofmeyr1-2/+2
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-03jenkins-run: add env var to invocation to allow passing more opts from jenkinsNeels Hofmeyr1-1/+1
Change-Id: I6deaea178cb96bf1c105657091e8798993f7a405
2017-05-02jenkins: make sure to have only the latest binary tar in a workspaceNeels Hofmeyr4-0/+4
2017-05-02jenkins: run python3 unbuffered to see log scrolling by on jenkinsNeels Hofmeyr1-1/+1
2017-04-09wipNeels Hofmeyr2-3/+4
Change-Id: Icce6bd83173db86a64fa621e641131758380c7cd
2017-04-08review jenkins scriptsNeels Hofmeyr9-275/+234
Change-Id: I420910bd2d30e96605ecf3acb779ce726c75d912
2017-04-08core implementationNeels Hofmeyr4-11/+10
code bomb implementing the bulk of the osmo-gsm-tester Change-Id: I53610becbf643ed51b90cfd9debc6992fe211ec9
2017-03-28initial import0.1Neels Hofmeyr5-0/+393
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.