Commit Graph

543 Commits

Author SHA1 Message Date
Harald Welte 10bc752474 update OBS Release.key; the old one expired today.
Change-Id: Ic0ef942f7c2cce9d786ecc2447b10b808bac2ba9
2020-03-30 18:22:59 +02:00
Pau Espin 94a0a917be job: Update master and gerrit osmo-pcu jobs to also build on ARM platform
Related: OS#4301
Change-Id: I8109cc9a71e6c14304ed6463f9b073ef3f4f3c2a
2020-03-16 10:30:26 +00:00
Pau Espin 3e0d3e36c0 ansible: Use osmo-gsm-tester docker image in jenkins job osmo-gsm-tester_virtual
Let's use the osmo-gsm-tester docker image based on the
debian-stretch-jenkins instead of the later directly, since the former
has all osmo-gsm-tester required dependencies.

Change-Id: I256eeed82eef0969d93dc015e043b0417f56f52c
2020-03-12 16:06:05 +01:00
Harald Welte 23150e1d15 ansible: ensure rsync is installed on all build slaves
Avoid the following error by the Osmocom-OBS_MinGW_weekly_publish job:

rsync -avz -e 'ssh -o '\''UserKnownHostsFile=/home/osmocom-build/jenkins/workspace/Osmocom-OBS_MinGW_weekly_publish/a1/default/a2/default/a3/default/label/obs/known_hosts'\'' -p 48' /home/osmocom-build/jenkins/workspace/Osmocom-OBS_MinGW_weekly_publish/a1/default/a2/default/a3/default/label/obs/out/ binaries@ftp.osmocom.org:web-files/windows
/tmp/jenkins1809827296988933592.sh: line 164: rsync: command not found

Change-Id: Id221729a8639f817a91888898e6a08a4dbce72c6
2020-03-11 10:00:11 +01:00
Pau Espin f9e0070e2d poky-sdk: Use first letter in caps (as in python bool)
Same as done in install-coverity/tasks/main.yml.

Change-Id: Ifbfe678e89bef3acd33e562888ad81093fa1230d
2020-03-03 16:26:52 +00:00
Pau Espin b3819d2c6a contrib/jenkins: Avoid docker setup if OSMO_CI_NO_DOCKER=1
Some jenkins slaves may not need docker (or even have it installed).

Change-Id: Ibfc4a81d3d621503b40204b7452ead56c726af97
2020-03-03 12:34:56 +01:00
Pau Espin 9184c87ad8 jobs: update-osmo-python-on-slaves: osmo-python not required in simtester node
Change-Id: Ia3728cf9296eab8db49274e4da64249e497726d1
2020-03-03 12:21:29 +01:00
Pau Espin 6464e7c4c3 jobs: jenkins simtest node is named simtester
simtest node doesn't exist, it's called simtester.

Fixes: 3935743127
Change-Id: Id703a85298b163e7e95bb89f6a69ab51e29effb4
2020-03-03 12:01:35 +01:00
Pau Espin 5855cf91cc update-osmo-ci-slaves: Fail jenkins jobs on script failure
It's been noted that jenkins job update-osmo-ci-on-slaves succeeds even
if make script called by some children function fails:

"""
../make/Makefile:57: recipe for target 'docker-build' failed
make: *** [docker-build] Terminated
make: Leaving directory '/home/osmocom-build/osmo-ci/_docker_playground/debian-stretch-jenkins'
+ exit 1
Finished: SUCCESS
"""

Change-Id: Iab9bc49eebee0f42657ff3ab5ffaa10315446440
2020-03-03 09:22:01 +00:00
Pau Espin 54f9316fcf ansible: gsm-tester: Install osmo-gsm-tester dependency python3-numpy
Change-Id: I1a162607288a50d2376c4ed7760a8e6fb07f6a89
2020-03-02 14:22:47 +01:00
Harald Welte 99a7abe42e osmocom-*-packages: Build neocon package
Change-Id: Ie0243bf066d6bc369737b8d659d09e3871cae79d
2020-02-26 14:45:30 +01:00
Harald Welte d52b4ee105 osmocom-latest-packages: Allow non-osmocom git URL in checkout()
Change-Id: I33bbc47598cb2c31cdc4209cd2fe3e6f6dd67e7a
2020-02-26 14:45:30 +01:00
Harald Welte 79df6f2b65 osmocom-nightly-packages: Allow non-osmocom git URL in checkout()
Change-Id: Ib768ff2822df5875820e4f12390004ed18614144
2020-02-26 14:45:30 +01:00
Harald Welte 4ddf61697a ansible: fix java for debian 10
Change-Id: I8b81edf420534726cd987f3f90efe79ca921f41a
2020-02-26 13:47:20 +00:00
Harald Welte 32f08347f7 ansible: Install open5gs dependencies on debian10
Change-Id: Ib58a9a91d34c4ebf10171bed8f0b26d9b34892b1
2020-02-26 13:47:20 +00:00
Harald Welte bee8f383e1 add build2-deb10build-ansible build slave
This is our first Debian 10 build slave

Change-Id: Iae80c5f73781d14ffbf124a476894d4631c83dc7
2020-02-26 13:47:20 +00:00
Harald Welte a17fa43f1a Make "ansible_distribution_version >= 9" work
The distribution version must not be quoted in this case (string) but
given as an integer.  Otherwise it will match only on 9, but not on 10.

Change-Id: I6ff3d16d2eac891e6663e8860eec2058478f4b79
2020-02-26 13:47:20 +00:00
Vadim Yanitskiy 3935743127 jobs: add 'simtest' to the list of to be updated slaves
Change-Id: I0cc6188aab10ecb8b862710d272c411e47a21f61
2020-02-26 18:05:50 +07:00
Pau Espin 5eabf8bcb1 jobs: Run update-osmo-{ci,python}-on-slaves on rpi4-deb9build-ansible
Change-Id: I96067ffc0061a85bcc46569b1bf38eade3b8d995
2020-02-26 10:50:50 +01:00
Pau Espin 3e0db88e34 job: master-buids.yml: Drop specific scm and poll branch for master-osmo-pcu
Change-Id: I12f0c5c83786feba0aef74143fab3a836e83cd9d
2020-02-26 08:39:58 +00:00
Pau Espin cf36253aea job: Update master and gerrit osmo-bts jobs to also build on ARM platform
Related: OS#4301
Change-Id: I72e228ff1a126f6c41c5fd6a530de85e177a0d21
2020-02-26 08:39:27 +00:00
Pau Espin 59be228b87 hosts: Add rpi4-deb9build-ansible
Change-Id: I3bea29c3a9fa9b4b6dc4df3cdde4bb9dbf7de47d
2020-02-26 08:39:27 +00:00
Pau Espin 4f98ae06a3 job: Update master and gerrit osmo-trx jobs to also build on ARM platform
Related: OS#4301
Change-Id: I0049ab35b5106d5af8474903e203f66b044ff5ca
2020-02-26 08:39:27 +00:00
Vadim Yanitskiy 6755bc3092 ansible/setup-simtest.yml: Python2 is deprecated, switch to Python3
PySIM is about to switch to Python3, so Jenkins must be ready.

Change-Id: I555af88b0e6a5c082e1e0cbd6915649a8a942052
2020-02-26 07:56:23 +00:00
Harald Welte 30ca06a8d4 osmocom-nightly/latest: Build open5gs
This is unfortunately harder than expected.  The problem is the use
of meson external dependencies using 'wrap', specifically for
freeDiameter.

As a debian source package needs to include the entire source, the
dpkg helpers are calling 'meson --wrap-mode=nodownload' at build time.

This in turn requires us to download the freeDiameter after the git
clone of open5gs.  Unfortunately this creates a git checkout in a
sub directory of the open5gs repo, which is not part of the git history.

git-buildpackage hence generates a source tarball *without*
freeDiameter.  I tried very hard in several methods like
* git commit subprojects/freeDiameter
* adding subprojects/freeDiameter as git submodule
unfortuantely none of them helped.

In the end, I resorted to using 'dpkg-buildpackage' instead of
'git-buildpackage' (gbp), which then has other disadvantages,
such as not being able to determine the output directory to which
the .tar.* and .dsc files are written to.

In the end, the solution implemented here is the only one I could
make work.

Change-Id: I6752288868e5ee1378c0776b1be9f06750017c41
2020-02-24 10:52:30 +01:00
Harald Welte 21d464f836 README: Update version number of poky toolchain
Change-Id: Ic360a909c4615a3d6bfcea8f2e1c70a70b935ab4
2020-02-24 09:11:29 +00:00
Pau Espin bae9358550 ansible: gsm-tester: add jenkins user to osmo-gsm-tester group on slaves
Change-Id: Id5a06c19a4341311a86b87e3e9ac23d3656909b9
2020-02-21 21:54:47 +00:00
Pau Espin 584acbb7ab ansible: gsm-tester: Create remote rundir directories
These directories are needed by osmo-gsm-tester to copy in some binaries
and helper files required in the remote run node.

Change-Id: I802bdcc79e7787052364f6518e868d741cb040ac
2020-02-21 20:09:11 +00:00
Pau Espin 90987935bc ansible: gsm-tester: Use file module instead of manual mkdir
From ansible: [WARNING]: Consider using the file module with state=directory rather than running 'mkdir'.

Change-Id: I2c541878033360a9d427d13b62c1cc075d5f92b7
2020-02-21 20:09:11 +00:00
Pau Espin 53e8b0575f ansible: gsm-tester: Install patchelf's build dep autoconf
Change-Id: Ibe0e9b10d87c3630e2f12c9c32196e26213530ca
2020-02-21 20:09:11 +00:00
Pau Espin 5eb888e53e ansible: gsm-tester: Allow install srs related packages in Ubuntu
Change-Id: I3fdf2f4f390d27c53f073b38c1716da07f933b6d
2020-02-21 20:09:11 +00:00
Pau Espin cd4c9af8b5 ansible: gsm-tester: add some tags to tasks
Change-Id: I1fe26d519d4d63d4bef33c1db2abf98a40913f98
2020-02-21 20:09:11 +00:00
Pau Espin a63c19c786 ansible: slave: Skip ttcn3 install on ARM targets
eclipse-titan is not currently built for ARM targets (or it fails) on
osmocom OBS repos. Let's disable it since anyway we don't need to run
ttcn3 stuff on ARM slaves.

Change-Id: I83f95766fc601bfced6404db56af3bf8b871982f
2020-02-20 10:54:44 +00:00
Pau Espin 500bcafe65 ansible: gsm-tester: Install correct version of Soapdysdr lms module for srsLTE
At runtime, srsLTE expects that newer version of the module instead of old 0.5.2
one.

Change-Id: I1a66a1c4ba819c6c4887facc99045d099f2ccc53
2020-02-17 11:30:42 +01:00
Pau Espin c13af9ac58 ansible: Install libsoapysdr-dev as dependency for srsLTE
srsLTE supports using LimeSDR devices through SoapySDR.

Change-Id: Idd8baf934cb9245e0f897e84754905172b659e40
2020-02-13 20:17:34 +01:00
Pau Espin 9562073194 gsm-tester: Install helper scripts and sudoers.d files from git repo
Let's avoid duplicating and having to add manually the files here every
time a new helper is required by osmo-gsm-tester.

Change-Id: Ibbdd291f4c3f7aecdd5118cc2b3b35edaddf7c09
2020-02-11 19:12:46 +01:00
Pau Espin a264f9fcdd gsm-tester: Manual build and install of patchelf v0.10
Due to [1], we require both debian9 patchelf v0.9 and v0.10 to be
available and used by osmo-gsm-teser depending on the binary to be
patched.

[1] https://github.com/NixOS/patchelf/issues/192
Related: OS#4389
Change-Id: I28825d723b85900fb51cc5b8a9d14c6ef346e667
2020-02-11 14:00:32 +01:00
Harald Welte fcad862f86 coverity: Our coverity job needs curl; install it
curl \
 --form token="$token" \
 --form email=holger@freyther.de --form file=@Osmocom.tgz \
 --form version=Version --form description=AutoUpload \
 https://scan.coverity.com/builds?project=Osmocom
./jenkins.sh: line 39: curl: command not found

Change-Id: Ibf4a40860fe6c8424a60672dc4758b9f17c532a3
2020-02-08 13:28:54 +01:00
Harald Welte a42c3c1900 upgrade coverity to 2019.03
Change-Id: I0425b24a2afd979eb2a44dee512512746929770e
2020-02-08 13:13:04 +01:00
Pau Espin e94da921d7 ansible: gsm-tester: Add missing dep python3-setuptools
That's required when building python modules with pip.

Change-Id: I80785a4061e91126092a04080a2c9fdb288be49a
2020-02-03 16:03:47 +01:00
Pau Espin c17216723b ansible: mdbus2 is not nowadays available on Debian10
Change-Id: I0eb2ed28d9e3bc9054ffeb81c9e6fb5428af5bfb
2020-01-29 19:57:06 +01:00
Pau Espin f57eb28d13 Install srsLTE build dependencies in jenkins buildhosts
Change-Id: Ib42987416ee90868ab088bfa2f92d92c764088b0
2020-01-29 19:54:51 +01:00
Pau Espin 5f4e887c5f jobs: Introduce osmo-gsm-tester_build-srslte
Change-Id: I08a59c6065ca4fb6fbbed5b12e73abf4024f1dcb
2020-01-29 19:38:19 +01:00
Pau Espin 3456d3a2a5 ansible: gsm-tester: Install srsLTE dependencies
Change-Id: Ia6804d0d0c40ad2ebe8a09b0861f14f15578a834
2020-01-29 14:33:44 +01:00
Harald Welte 84cbb6fa13 Fix ansible playbooks after docker directory was removed here
In I30a61aebcadef5536e74edd35e1c75ef77a2da9f, we moved the Dockerfiles
from here to docker-playground.git, but failed to adjust the ansible
playbook that wants to rebuild those containers during setting up of
a build slave.

Change-Id: Ife64fdaf24107b0b31b8a6d4c78a1df420662ca0
Related: OS#4345
Closes: OS#4377
2020-01-26 14:03:51 +01:00
Harald Welte 8eb4fdb591 ansible: Install poky-sdk only on x86_64 architecture
The SDK is pre-compiled for a x86_64 host architecture, we cannot
use it e.g. on armhf (raspi).

Change-Id: Ia565d2dba427c00aa08a4eca62ac7410448ada04
2020-01-26 13:35:44 +01:00
Harald Welte 0bd157f0bd ansible/docker: ensure gnupg + crontab are installed
Both are required by docker, but seem to be missing from explicit
dpkg 'Requires' :/

TASK [docker : add docker gpg key to apt keyring] ********************************************************
fatal: [rpi4-deb9build-ansible]: FAILED! => {"changed": false, "msg": "Failed to find required executable gpg in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"}

TASK [docker : cleanup old docker images] ****************************************************************
[WARNING]: The value 0 (type int) in a string field was converted to '0' (type string). If this does not
look like what you expect, quote the entire value to ensure it does not change.

fatal: [rpi4-deb9build-ansible]: FAILED! => {"changed": false, "msg": "Failed to find required executable crontab in paths: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"}

Change-Id: I2d342f85f6bc1b80eaafc7075552019fea147894
2020-01-26 13:35:33 +01:00
Pau Espin e0f4129b63 ttcn3-testsuites.yml: Add job for ttcn3-sccp-test
Only for nightly, not latest, since example/sccp_demo_user is not
installed by autotools and debian packages, so only in nightly where we
build from source we are able to copy it to docker image manually.

Related: OS#4343
Change-Id: Ia0a68d74215bdc1bc6319241d60f858312fa14e9
2020-01-17 18:13:47 +01:00
Oliver Smith fb3dc0b775 gerrit-verifications: fix erlang/osmo_ss7 name
Fixes: aadc60f403 ("jobs/gerrit-verifications.yml: add erlang repos")
Related: OS#4345
Change-Id: Id78f7e62e12c7595329ef8a265e522f27a087604
2020-01-17 16:21:44 +01:00
Oliver Smith 2c13d633ec gerrit-verification: fix erlang cmd
Jenkins job builder only does one pass of variable substitution. Replace
the cmd_erlang variable with its contents, so the jobs don't fail with:

[osmocom-gerrit-debian9] $ /bin/sh -xe /tmp/jenkins7189809471369692535.sh
+ {docker_run} {docker_img_erlang} /build/contrib/jenkins.sh
/tmp/jenkins7189809471369692535.sh: 2: /tmp/jenkins7189809471369692535.sh: {docker_run}: not found

Fixes: aadc60f403 ("jobs/gerrit-verifications.yml: add erlang repos")
Related: OS#4345
Change-Id: I6e121c79ecf872a7058de3a6dc0a940fa8091f68
2020-01-17 15:03:08 +00:00