Commit Graph

559 Commits

Author SHA1 Message Date
Harald Welte 326221b87c ansible: Install 'sdcc' compiler for libusrp firmware on build slaves
Change-Id: I2fa8fa1a195079a0d8beda6a0aa4fc090ca37970
2019-01-11 18:54:12 +01:00
Holger Hans Peter Freyther c184523221 gsm_tester: Add lua-socket dependency used by the scripts
Change-Id: Iea51362a592c5b42413cb6d72677d01a0e357555
2018-12-28 14:54:19 +00:00
Holger Hans Peter Freyther 7af1fef220 gsm-tester: Install liblua5.3-dev as mobile dependency
Change-Id: I188361cceacde60b9b0b954549d63a34ba81646a
2018-12-28 13:48:24 +00:00
Holger Hans Peter Freyther 245ddd1cec Reserve an ip address for the osmo-bts-virtual
Change-Id: Ia3b52d6fc66efc032b7de4769ad603da177e13da
2018-12-13 09:40:03 +00:00
Oliver Smith fd9ae9737d master-builds: openbsc: make SSH keys available
Mount ~/.ssh in openbsc's docker container, just like it is done with
all other Osmocom projects that build in docker (see Change-Id
Icfff3b6a620de79d1bab7ff6a35309f828581c09 ("master-builds: make SSH keys
available in Docker")).

Related: OS#3385
Change-Id: Ib31ab4033c1cc71c10a96445e8bcc3b9f02e2a1f
2018-12-12 17:03:33 +01:00
Oliver Smith 6d6938fa60 Build verification: manuals for the rest
Build manuals for osmocom-bb and openbsc in gerrit-verifications.yml.
Build and publish manuals for osmocom-bb, openbsc and osmo-gsm-tester
in master-builds.yml.

Following recommendations on the ML, building manuals for
osmo-gsm-tester was not done with a new job in gerrit-verifications.yml.
It will be done with the existing osmo-gsm-tester_gerrit job (which is
generated by osmo-gsm-tester-runner.yml). No changes are necessary for
that in osmo-ci.git, see I4ebfe12a164f807b63bc897aff44db83fc0705bd
("contrib/jenkins*: build and publish manuals") in osmo-gsm-tester.git.

Related: OS#3385
Change-Id: I2845d14b656f11e3a07107b4f16e8d7a0e3c7bbf
2018-12-12 14:02:33 +01:00
Oliver Smith 298747c735 jobs/ttcn3-testsuites.yml: add build-discarder
Add the same build discarder as we have in master-builds.yml. This
should help with the disk space problems.

Change-Id: Ib7f01751ca5f6fb3e29a436982e2891d9cab0488
2018-12-05 16:50:58 +01:00
Oliver Smith d77968c3d6 gerrit-verifications/master-builds: fix errors
Fix three errors that prevented Jenkins from accepting the new
configs from Ie0643b17a6be6e86e281b50d78dd7a6858cf99ee
("gerrit-verifications/master-builds: WITH_MANUALS"):

* master-builds: fourth axis needs to be in the template or else the
  server will throw a 500 error. gerrit-verifications already has four
  template axes.
* gerrit-verifications/osmo-pcu: || at the end of combination_filter
* gerrit-verifications/osmo-sip-connector: missing ":"

Change-Id: I4ad63a3167e59b0837ffd1576fb7c7cf2958ff32
2018-12-05 14:49:18 +01:00
Oliver Smith e5e3773d52 gerrit-verifications/master-builds: WITH_MANUALS
Add WITH_MANUALS=1 to generate (and publish in case of master-builds)
PDF manuals. Jobs with multiple axes generate the manuals only in the
fastest axis.

Related: OS#3385
Change-Id: Ie0643b17a6be6e86e281b50d78dd7a6858cf99ee
2018-12-05 13:41:52 +01:00
Oliver Smith 6599da6d31 master-builds: use PUBLISH=1 instead of --publish
Pass all inputs to contrib/jenkins.sh as environment variables instead
of mixing with commandline arguments. We decided on this method instead
of I3cc01dbc57213b6d6cdc9b394a516510d045f1ae ("use jenkins.sh
--publish"), to make the contrib/jenkins.sh scripts less confusing.

Related: OS#3385
Change-Id: Ifc88af086368ce8eea1ea3a375ba7d5603a5d7e5
2018-12-04 10:39:33 +01:00
Oliver Smith bef4e9cb5d master-builds/gerrit: remove redundant GTP="$GTP"
Variables for axes are already exported as environment variables.
Change 'GTP="$GTP" ./contrib/jenkins.sh' to './contrib/jenkins.sh' to
avoid confusion when introducing other variables.

Change-Id: I9238da3dd3c4461f82dc7c792f886177399be3dc
2018-12-04 09:21:50 +00:00
Oliver Smith ce105c6aa1 osmo-mgw: don't try to build with transcoding
Do not build osmo-mgw twice anymore (once with "--enable-mgcp-transcoding" and
once with "--disable-mgcp-transcoding"). configure.ac does not know
these options.

Change-Id: I080cd331caec31c53a43090e6c19d23e31abdec6
2018-12-03 16:45:41 +01:00
Oliver Smith 6f8339b5d0 master-builds: make SSH keys available in Docker
At runtime, mount the Jenkins host's ~/.ssh folder inside the Docker
containers, from which manual PDFs will be published.

To my surprise, local testing showed that ssh is looking for the keys
in /home/build/.ssh, although the HOME variable inside the image is set
to /build, not /home/build.

Related: OS#3385
Change-Id: Icfff3b6a620de79d1bab7ff6a35309f828581c09
2018-12-03 13:39:02 +00:00
Oliver Smith 03d5f4c71c cosmetic: gerrit-verifications: format docker cmd
Format the docker command lines just like they are formatted in
master-builds.yml. Most notably, this puts every environment variable on
its own line. This makes it much easier to compare both files side by
side.

Change-Id: I0adcb028be24c2e05189c15b85811777d6287387
2018-11-30 15:15:16 +01:00
Oliver Smith ffb3fa6286 master-builds: use jenkins.sh --publish
Add --publish to the contrib/jenkins.sh calls for each Osmocom project,
where PDF manuals should be published. As this parameter is only passed
to jenkins.sh from the master-builds job, not from the
gerrit-verification job, we can add logic to upload the generated PDFs
when getting triggered because of changes in master.

Related: OS#3385
Change-Id: I3cc01dbc57213b6d6cdc9b394a516510d045f1ae
2018-11-29 16:55:59 +01:00
Oliver Smith 0b978d5afe Dockerfile: add dependencies for osmo-gsm-manuals
Install all dependencies required for building PDF manuals inside the
Docker container, so we can build projects with their manuals in the
Gerrit build verification job.

I ran the Docker container locally to confirm that this works, as
described here:
https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_build_verification_jobs

Related: OS#3385
Change-Id: I379ce02857353c097f79cf91af2c4c9dc14754ec
2018-11-29 14:23:07 +00:00
Pau Espin 3d69abadb8 jobs: master-builds: Disable deprecated cellmgr-ng failing to build
cellmgr-ng is out of maintenance for a long time now (13 months) and some
of its features are going to be served by osmo-stp in the future.
cellmgr-ng is unable to build against recent libosmo-sccp.

Change-Id: I0869ec932ba3b3a9d3d8521b25f677e011334315
2018-11-27 12:45:52 +01:00
Max 4778fc0323 Add osmo-sysmon to default depcheck config
Change-Id: Ie57d0d55459d492e18b56496c9018a5f8619813a
2018-11-22 14:24:24 +01:00
Max bdd3713beb Add osmo-sysmon to coverity submission
Change-Id: I1e753d2c14198eccb046c259b3eec582b1921431
2018-11-22 14:21:47 +01:00
Oliver Smith a31f20fbd8 jobs/master-builds.yml: don't publish manuals
Do not publish PDFs for all projects anymore, as we are moving the
manuals to each project's git repository. They will be published from
there instead (see INSTALL.txt in osmo-gsm-manuals.git).

No automatism for building and publishing the documentation of all
projects will be implemented right now, as discussed here:
https://osmocom.org/issues/3385#note-7

Related: OS#3385
Change-Id: I705e20a4f94b308c250580aa1289ee9b2967beef
2018-11-21 16:22:21 +01:00
Holger Hans Peter Freyther 8f33ecf33b ansible: Wrap distro version number as string for ansible
Change-Id: I58591ee37c6ec1479778c3f90ed8004a7e2adf1e
2018-11-09 02:00:47 +00:00
Pau Espin 0c8e950e86 ansible: gsm-tester: Support power cycling multiple quad modems
uhubctl doesn't support acting on several hubs from same vendor at once.

Change-Id: I01e698c96240130ed6f632f82383f6020d2a3b81
2018-11-07 10:23:42 +00:00
Pau Espin da939e6cdf ansible: gsm-tester: prod has now 8 modems attached
4 EC20 modems were attached,  and the issue with only 3 out of the 4
showing up was fixed a while ago.

Change-Id: I0e0876fd5581e9eb56c498078ae8cd8c68ede5b5
2018-11-07 10:23:42 +00:00
Pau Espin 6691cf4dbb ansible: gsm-tester: Add IP addr for umtrx
Change-Id: I7fb65e3c337fc82c787e925fbbdf9eaf7569defd
2018-11-07 10:23:42 +00:00
Oliver Smith b348a83b2f ttcn3-testsuites: collect artifacts again
Collect build artifacts just like the manually created jobs did it.

Related: OS#3681
Change-Id: I5b0f5de87125374c9a48d0a47e6a4e655d7ed3bb
2018-11-06 19:23:32 +00:00
Holger Hans Peter Freyther 7e5e3ece47 misc: Install patchelf to add/set an rpath if wanted
Change-Id: I6e4ad2e3855af7bcefc22d4190cc4e6f58581857
2018-11-06 13:14:05 +00:00
Oliver Smith 73240db74d ttcn3-testsuites: replace manually generated jobs
Let all TTCN3 related Jenkins jobs get generated by
ttcn3-testsuites.yml, overwriting the old manually generated jobs.

Related: OS#3268
Change-Id: Ib4c0949d21fcbc16c61c6ffe9d3eedea198aaf1d
2018-11-05 10:42:12 +01:00
Oliver Smith 44a3961231 jobs: ttcn3-testsuites.yml for ttcn3/nplab jobs
New JJB config, that is able to generate all jobs in the TTCN3 tab at
Jenkins: <https://jenkins.osmocom.org/jenkins/view/TTCN3/>

The new *-latest jobs test against the latest stable releases. Existing
jobs are not overwritten (this is commented out).
ttcn3-bsc-test-sccplite-latest is disabled for now, because it hangs
forever.

Related: OS#3268
Change-Id: Ie433925ee81a61c5788b4a6f2bc5b89c2689d251
2018-11-05 09:28:28 +00:00
Holger Hans Peter Freyther f091b3e9e3 ansible: Skip liblimesuite-dev for debian 8.0
There is no installable liblimesuite-dev for Debian 8.0 and the
playbook execution fails. Install it for Debian 9.0 or later.

Change-Id: I0cee652b9d9703dc10b6105711a26f33cc2a3fda
2018-11-02 13:03:40 +00:00
Holger Hans Peter Freyther bcd7207c40 ansible: Future proof for debian releases after debian9.0
buster has a liblua5.3-dev, openjdk-8-jre-headless and the ttcn3
packages should work as well.

Change-Id: I76f516bbe503d15d9210ab14e7d9dd024e0ce72f
2018-11-02 13:03:29 +00:00
Pau Espin 6af154e942 jobs: osmo-gsm-teser: Run only once nightly
Current entire default testsuite takes almost 7 hours to run, so let's
run it once nightly and be done with it.
This way, during office time if we want to test something on the prod
setup (due to hw only avaialble there) we can do it without having to
wait, disable the job hours in advance or having to kill all processes
and clean osmo-gsm-tester state.

Change-Id: I138bf50d6d066d2da4cd97f25880628b93ddc237
2018-10-30 16:06:11 +01:00
Harald Welte 64d1d6c3b7 gerrot-osmo-bts: Don't use unsupported '/' in labels of axis/matrix jobs
It seems jenkins cannot deal with this, so we cannot specify something
like 'origin/nrw/oc2g-next' in a label.  Let's work around by using only
oc2g-next here and expanding that to 'origin/nrw/oc2g-next' only in the
osmo-l1yer1-headers.sh script of osmo-ci.git

Change-Id: I9130a2f349f06a0b46b50665cef7188ddb08f666
2018-10-27 13:38:21 +02:00
Harald Welte 499aea7836 osmo-layer1-headers.sh: Check-out NuRAN branches without slashes
this is an ugly workaround for Jenkins not being able to deal with slash
('/') in label names that comprise the axis of a matrix buildjob, while
nuran not using tags but only branch names in their firmware
repositories :(

Change-Id: I1bbfc61f66c5fc490ceca96a8eb21210dd89b629
2018-10-27 13:32:58 +02:00
Harald Welte c466dcfde5 gerrit-verifications.yml: Add OC2G build matrix to gerrit-osmo-bts
The gerrit-osmo-bts job is used for build verification of osmo-bts
patches.  This adds (untested) support for OC2G

Change-Id: I62a9a5ec357b7246b2d7915681c646c79eda4b76
2018-10-27 10:22:54 +00:00
Pau Espin 0370864469 ansible: ogt: install udhcpc and iperf3
These tools are used during gprs data plane setup and performance
testing.

Change-Id: I5beddd74fca726c5ea2c9527836a9f50d92b4ce8
2018-10-26 19:25:53 +00:00
Pau Espin 8c47ea27c3 ansible: ogt: Add new local IP addr to be available for resources
Change-Id: I32574a935289fa208647d16663b77c0708c0572c
2018-10-26 19:25:53 +00:00
Pau Espin cee37b8004 ansible: ogt: Deploy osmo-gsm-tester_netns_exec.sh
Related: OS#2308
Change-Id: I587dd5630b211a906351f064c718f8f4c5fe6273
2018-10-26 19:25:53 +00:00
Harald Welte 6fdb3ef090 osmo-layer1-headers.sh: Add support for OC-2G
Change-Id: Iceb62df4511ed50f0286e5762d9ffc4b068f70a6
2018-10-26 16:07:58 +02:00
Harald Welte 24f2ef00b2 Add osmo-remsim to gerrit + master build verification
... which introduces a requirement for libcsv-dev in ansible.

Change-Id: I2ac65947ce9ecc071f774dc4df0f08c99c16c632
2018-10-15 02:06:22 +02:00
Oliver Smith 6a38a191be README.adoc: use 'my_api_token' as example pass
This makes it easier to recognize that users should paste an API token
there, not their password.

Change-Id: I203c25b6638e36d3f050223dd40e56b7c4a92a12
2018-10-10 15:38:13 +02:00
Pau Espin 52fb2808d6 ansible: Install liblimesuite-dev and setup limesdr rights in gsm-tester
Change-Id: I7fafae340221cac63e33bccabcce6fd8f4385514
2018-10-09 14:03:26 +02:00
Pau Espin 2958d13e2b osmocom-latest-packages.sh: Refactor to support building limesuite
This way the latest script is a lot more similar to the nightly one, and
easier to maintain and expand with new features.

checkout and build steps are split because once we have a new
osmo-trx release, we'll need the create_osmo_trx_debian8_jessie trick to
build it.

In the future we can do further steps to have a common function lib
between latest and nightly scripts.

Change-Id: I786c6f4ad4b4e43d1692c1588d2ad2194d0b25a4
2018-10-05 12:05:10 +02:00
Pau Espin 59f131cc44 osmocom-nightly-packages.sh: Build against newest limesuite release v18.10.0
Change-Id: I4e3a3d3ac4422cbf9c4e8c8bda3d3f7b27be1a14
2018-10-04 17:59:37 +02:00
Oliver Smith 6cced05c01 osmo-depcheck: don't use /tmp, better git code
* replace --gitdir with --workdir and give it a new folder structure:
  * git/$repo: downloaded source code
  * build/$repo: files created during the build process
  * install/: installation prefix
* adjust the jenkins job to use --workdir
* fetch --tags when source exists already
* readable error message for failed git checkout

Change-Id: I06589277b9d54a2af177451cfab2ca1a658b4058
Relates: OS#2642
2018-09-25 09:59:05 +00:00
Pau Espin 8768ad510a jobs: osmo-gsm-tester_run-gerrit: Update suites selected for verification
Recently in osmo-gsm-tester some suite names were changed to have better
unified naming. As a result, some of the suites used here need to
updated.

Change-Id: Iafe865ab5f607fc8acfcb3f72ebe4b0ef0f1322a
2018-09-25 08:04:18 +00:00
Pau Espin 050e29a3b0 jobs: osmo-gsm-tester: Copy osmocom-bb build artifact
This artifact is not needed nowadays to run current tests in those jobs,
since it is only used in osmo-gsm-tester_ttcn3, but it will eventually
be used once we support virtphy and/or motorola phones in usual tests,
and also because it's easier for developers to download full .tar.gz
with all at once instead of having to download osmocom-bb one separately
whn whilling to run ttcn3 testsuite locally.

Change-Id: I9fe41e2c7d9c38796ce16f2f279792bc5151b498
2018-09-25 08:04:18 +00:00
Pau Espin 4b5ab29bd1 jobs: osmo-gsm-tester: Add osmo-iuh builds
Change-Id: I7b8f51597287e7673f79c65eae2508b074151781
2018-09-25 08:04:18 +00:00
Oliver Smith 85c2effd89 osmo-depcheck: script to verify PKG_CHECK_MODULES
This script verifies that Osomcom programs really build with the
dependency versions they claim to support in configure.ac. In order to
do that, it clones the dependency repositories if they don't exist
already, and checks out the minimum version tag. This happens
recursively for their dependencies as well. See 'osmo-depcheck.py -h'
for the full usage instructions.

There's also a new jenkins job in jobs/osmocom-depcheck.yml.

Change-Id: I8f495dbe030775f66ac125e60ded95c5d7660b65
Relates: OS#2642
2018-09-20 16:28:00 +02:00
Oliver Smith 7fab6f5412 gitignore: add __pycache__
The osmo-depcheck script consists of multiple Python files. Python
creates a __pycache__ folder, so let's make sure that does not get
added by accident into the git repository.

Related: OS#2642
Change-Id: Ic8fb08fec1629846fc0712d6bc0b6288fbba7dc9
2018-09-20 08:11:47 +00:00
Oliver Smith 999e449501 osmocom-debian-install.yml: new jenkins jobs
Installs most packages from the Osmocom Debian repository into a plain
debian:stretch container and call the osmo-* binaries with --version
(or -h).

Two jobs, one for nightly and one for latest.

Change-Id: Idbb43ed737e164f8cf3a0e085ed54e4c6a2d14bc
Related: OS#3176
2018-09-20 08:10:49 +00:00