Commit Graph

568 Commits

Author SHA1 Message Date
Oliver Smith d45550108f fixup 2
Change-Id: Ib3300bbbbf6d70722eb4f4650dbef1f7fce5e3fa
2020-05-28 09:44:36 +02:00
Oliver Smith 21c032884b jobs/osmocom-obs.yml: create Osmocom_OBS_next job
Change-Id: I50dca459d19dca5894b71169ae70a6c6778b2e52
2020-05-28 09:34:30 +02:00
Oliver Smith 009a925fad OBS: add osmocom-next-packages.sh
Fill the "next" feed with source packages generated from the "next"
branch of each Osmocom project, if it exists, with fallback to the
"master" branch. Implement as wrapper around osmocom-nightly-packages.sh,
so we don't duplicate code and don't need to add more logic to the jenkins
job.

Adjust all osmo_obs_prepare_conflict calls. Add a comment line on top of
each osmocom-*-packages.sh script stating the feed they can be used with.

Related: SYS#4887
Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce
2020-05-28 09:34:30 +02:00
Oliver Smith dfc0b4c74c OBS: support more than one conflicting package
For the upcoming network:osmocom:next repository, it would be
inconsistent to have the debian package conflict mechanism only support
latest and nightly, even if the next repository is currently not built
for debian.

Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0
2020-05-28 09:34:16 +02:00
Oliver Smith ec04994c10 Cosmetic: OBS: remove comments for requirements
The list is incomplete, and we have a programmatic check for required
binaries in common-obs.sh now. The next patch will add a new one of
these scripts, so let's clean it up a bit.

Change-Id: Ifab635e0d7a162142a8e80f3223d024888114f3f
2020-05-25 11:47:30 +02:00
Oliver Smith 7cb8e2d05c OBS: add debian10 specific patch for limesuite
Add a patch to replace libwxgtk3.0-dev with libwxgtk3.0-gtk3-dev in
debian/control. Adjust OBS scripts to apply such patches from this
repository if they exist here, and fall back to the project's
repository (osmo-trx, osmo-gsm-manuals patches are there).

Related: OS#4562
Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad
2020-05-25 11:47:11 +02:00
Oliver Smith b6965f877c scripts/common-obs.sh: move osmo_obs_checkout_copy
Refactor checkout_copy_debian8_jessie from osmocom-latest-packages.sh
and osmocom-nightly-packages.sh to take the distribution name as
argument and merge both to osmo_obs_checkout_copy in common-obs.sh.

Use debian8 as distribution name instead of debian8-jessie, so the
distribution name matches the suffix of the patch file
(build-for-debian8.patch).

A follow-up commit will apply a debian10 specific patch with this new
function.

Related: OS#4562
Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65
2020-05-25 11:46:04 +02:00
Oliver Smith eb33aa7f63 OBS: add --noservice to osc ci command
Prevent the following error:

ERROR: please install obs-service-format_spec_file or use the --noservice option
Build step 'Execute shell' marked build as failure

Related: https://jenkins.osmocom.org/jenkins/job/Osmocom_OBS_latest/976/console
Change-Id: Ib2fbaace47b3c12462860419f19b01a5b4d192e8
2020-05-22 11:36:58 +02:00
Oliver Smith a36c355462 OBS: check required programs before start
osmocom-*-packages.sh take some time to execute and has quite a few
programs that are not commonly installed. Check the required
dependencies first, so it doesn't abort in the middle of the scripts if
these are missing. I just ran into this with the new meson dependency.

Change-Id: I46cf1aeedd61dbd4fc8fa3f24c60e29033339ead
2020-05-22 11:36:53 +02:00
Oliver Smith 4969d2b116 scripts/osmocom-obs-link.sh: remove sdcc
sdcc does not build for centos 8 without diving deeper into the
dependency hell:

nothing provides gputils,
nothing provides python3-base,
nothing provides inkscape,
nothing provides lyx,
nothing provides makeinfo

So let's not build libusrp for centos 8 for now. We can build osmo-trx
without the usrp1 backend (already configured in the spec.in file).

Related: OS#4550
Change-Id: Icfb289b0eeeb7215d23517fb8a4e56f2a8d774f1
2020-05-20 11:27:39 +02:00
Oliver Smith b38c3e753b scripts/osmocom-obs-link.sh: new file
Related: OS#4550
Change-Id: Ib36682d645d9badad5515476675a947f2aec0baa
2020-05-19 17:02:33 +02:00
Oliver Smith 4f66f30307 OBS: add RPM spec files
Use existing osmocom-*-packages.sh scripts to add RPM spec.in files. Set
the same version, as in the debian .dsc files.

Related: OS#4550
Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c
2020-05-19 16:58:37 +02:00
Pau Espin 71cc851e35 osmo-gsm-tester: Point config parameter to file instead of its dirname
Since osmo-gsm-tester.git Change-Id Ieca65b71b543c44cfcec8e83efd0fe053c432e55,
the -c parameter holds the config file and not the directory where it is contained.

Change-Id: I9aca57c4dd3180367eb17ec92177b90a9c411a6a
2020-05-11 18:50:11 +02:00
Pau Espin 03b6049534 jobs: osmo-gsm-tester: Drop use of OSMO_GSM_TESTER_CONF for default conf dir
As of osmo-gsm-tester.git Change-Id
I7eb69f870d0dcb5906d45ae067d6bed1aabf5862, jenkins-run.sh script uses
the sysmocom value by default, so let's avoid setting it to simplify
stuff.

Change-Id: I8edfb93d53376930f60e0bd8d36a82ec6c11ed85
2020-05-07 19:16:15 +02:00
Harald Welte 512e6bc46d jenkins: Add master+gerrit job for osmo-el2tpd
Change-Id: I220741236c85ab7e25593b7dfadafaeb786ee503
2020-05-03 21:32:09 +02:00
Harald Welte bede70bee5 disable osmo-uecups latest build; needs new libosmocore release
Change-Id: Ib2f5fcd7e7a5b05a1fef9f3cbac99c6f203e2baa
2020-04-27 09:32:03 +02:00
Harald Welte b5254872aa osmocom-*-packages.sh: fix osmo-uecups
Change-Id: I359fe8f4fb94dc9b4b31e10f5cb9d0d4400a0e2a
2020-04-24 23:41:44 +02:00
Harald Welte fcd7f76107 add osmo-uecups to nightly + latest feeds
Change-Id: Ic7de1b4c6ce47093874fe373cac8a1f7e47ee179
2020-04-20 13:32:00 +02:00
Pau Espin e10e627f9d ansible: gsm-tester: Add dependency python3-websocket
osmo-gsm-tester needs it in rfemu_amarisoftctrl.py to connect to
Amarisoft CTRL interface (which is implemented through a websocket).

Change-Id: Iab03cfdcfb1c197ae002d95e0bb56d86e0aac97b
2020-04-17 20:04:20 +02:00
Harald Welte 933f866eff jenkins: add osmo-uecups to gerrit+master
Change-Id: I3ca141edcd61ae4126fa28f6560c99a1f568dec7
2020-04-17 15:18:40 +02:00
Harald Welte 1eee4475c0 jenkins: Add libnl-3 for osmo-uecups
Change-Id: I97114b60a647c6823eaeb031ea799c07af2b7aa0
2020-04-17 15:18:40 +02:00
Harald Welte 370ea3f1e7 ansible: The network:osmocom:nightly key has changed *again* :(
Change-Id: I1ddc792c23d7c7d6db9aea694ac615c1f5449782
2020-04-14 17:14:38 +00:00
Pau Espin f6dec4217e jobs: osmo-gsm-tester: Update path to sysmocom's specific setup
Since osmo-gsm-tester.git I364e0859c0851b9167907a4d948b659a0f6a19fb the
example/ directory has been renamed to sysmocom/

Change-Id: I4c7516d2eb9636d37391a81dc9d484c0c04d7191
2020-04-10 18:38:05 +02:00
Pau Espin f55a3c67be ansible: gsm-tester: Intall dbus policy file from git repo
Since osmo-gsm-tester.git I17ee94b175deb88faff71e7788c482093693f8a8, the
file is available in the repository, so let's simply install it from
there.

Change-Id: Icb4827c4126c997633e23e4d778ff9b1a1836322
2020-04-10 17:35:20 +02:00
Pau Espin 39a66cc7f9 ansible: ogt: Create target amarisoft dirs in slaves
Change-Id: Idd013ac01db545771217808e458e916900fe89a1
2020-04-06 13:22:08 +02:00
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