Commit Graph

89 Commits

Author SHA1 Message Date
Harald Welte f8b9737728 jobs: master + gerrit: Mark them as running on debian9. not debian8
We actually do the verification inside a (debian 9) docker container anyway,
so there's no need to run those on the old debian8 slaves.

Change-Id: I2168bd2f0e6221518ece111e29dc604c33eaca6a
2020-11-14 23:24:36 +01:00
Pau Espin cf17475839 jobs: Enable --without-sse build variant for osmo-trx
Change-Id: I47a2067dc25335557dfa93f291f6ca9cd4959735
2020-09-18 21:15:10 +02:00
Harald Welte 53e344d574 jenkins: add master + gerrit for osmo-smlc
Change-Id: Iaeb064ed8e7d08db305f1928dc26d16dc6c889dd
2020-08-21 20:17:49 +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 933f866eff jenkins: add osmo-uecups to gerrit+master
Change-Id: I3ca141edcd61ae4126fa28f6560c99a1f568dec7
2020-04-17 15:18:40 +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 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 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
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
Oliver Smith aadc60f403 jobs/gerrit-verifications.yml: add erlang repos
Run contrib/jenkins.sh in erlang repositories, that were recently
updated (osmo_gsup, osmo_dia2gsup, osmo_ss7).

Depends: docker-playground Ia3eaec6090c9652549b2850de74ee21730374bbd
Related: OS#4345
Change-Id: I05d152de6b7a04dee935d79b9987c511351eca95
2020-01-15 10:26:23 +01:00
Oliver Smith b79e06367b docker: move to docker-playground.git
Instead of building "osmocom:deb9_amd64" from this repository, build
"$USER/debian-stretch-jenkins" from docker-playground.git (same
Dockerfile). Adjust all jobs to use the new image name.

Add a new "update-osmo-ci-on-slaves-dp" jenkins job, which triggers
the existing "update-osmo-ci-on-slaves" job whenever
docker-playground.git changes.

Replace docker/rebuild_osmocom_jenkins_image.sh with
scripts/osmo-ci-docker-rebuild.sh, so we can get rid of the docker dir.
I thought about dropping the script completely, and directly writing the
two lines into contrib/jenkins.sh. But I kept the extra script for
convenience, when testing locally.

Related: OS#4345
Depends: docker-playground I125ae8a6bcabbd1f485028c79b0abacda0622c3a
Change-Id: I30a61aebcadef5536e74edd35e1c75ef77a2da9f
2020-01-15 10:24:38 +01:00
Oliver Smith 51e91cd9bb gerrit-verifications: introduce "gerrit_url" var
Prepare for erlang repositories, which will use this variable.

Related: OS#4345
Change-Id: Ia91764797745b48ae832cfbc16976e561b288a50
2020-01-14 14:47:53 +01:00
Harald Welte 71c642a0a5 add gerrit-verifications for osmo-e1-recorder and osmo-cbc
Change-Id: I1df28b4e7a7cbcf9151cd57a77001d88f1875415
2019-12-04 11:06:05 +00:00
Oliver Smith 02bb4049ba Cosmetic: gerrit/master jobs: link to wiki
Place a link to the wiki page, that now documents all available
environment variables.

Related: OS#4243
Change-Id: I770360b671c64369cf6cdb4fb4222921cc6af58e
2019-12-04 10:52:21 +01:00
Oliver Smith f58d2231a9 gerrit, master builds: default to concurrent: true
Now that almost everything runs in docker, we don't need to worry about
problems with running VTY/CTRL tests in parallel for these projects.

Related: OS#3726
Change-Id: I5fdf759faf47ec7e4f9cb2657bd004585a667add
2019-10-18 10:44:10 +02:00
Oliver Smith b082c969cb gerrit, master builds: build almost all in docker
Instead of building some projects in docker, and some directly on the
build slave, build almost all of them in docker with few exceptions, and
make building in docker the default.

This has several advantages:
* build environment of master builds and gerrit verifications is the
  same, therefore the same build won't pass in gerrit and then fail in
  master
* all build environments are volatile
* no more conflicts while running VTY/CTRL tests
* fix osmo-python-tests gerrit review versions being installed to
  /usr/local of build slave (see previous commit message)

Projects that still do not get built in docker:
* openggsn: depends on libgtpnl, but does not build it in jenkins.sh
* osmo-bts: l1headers, various SDKs not installed in the docker image
* osmo-trx: LimeSuite is not in the docker image (and just installing the
            debian package does not work)
* osmo-ttcn3-hacks: TTCN-3 not installed in docker image
* pysim: needs to access real sim cards attached to the host
* sysmo-usim-tool: needs to access real sim cards attached to the host

Related: OS#3726, OS#3598
Change-Id: If4b7d2f9ffbc7e92699732d97a8f5829a88c5b35
2019-10-18 08:38:58 +00:00
Oliver Smith a8153577fe gerrit, master builds: use stretch, not jessie
Debian jessie (8) is EOL already, so switch to stretch (9). This is
required to build all Osmocom projects in docker, because at least
libosmocore fails to build with the old image (tests won't build with
GCC-4.9.x from jessie unless -Werror is disabled).

Do not build the jessie image anymore, and update the shared dockerfile.
Remove everything jessie specific, and make it work with stretch by
installing asciidoc-dblatex. Otherwise we get this error when building
manuals:

a2x: ERROR: missing configuration file: /etc/asciidoc/dblatex/asciidoc-dblatex.xsl

Add '--cap-add SYS_PTRACE' argument to the docker run command, because
otherwise the address sanitizer isn't working anymore with stretch
(which makes the OsmoPCU tests fail).

I've tried to split this patch up into multiple ones, but since there is
no asciidoc-dblatex package in jessie, we must add the dependency and
switch the image at the same time.

Related: OS#3726
Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d
2019-09-24 08:04:53 +02:00
Oliver Smith a5fb5484ae gerrit, master builds: add docker_{run,img} vars
Move the common "docker run" invocation and image name into one place,
so it is not duplicated over and over. This prepares for changing the
image and building all Osmocom projects in docker (follow up patches).

Related: OS#3726
Change-Id: If529e6a93bb2227230981ee22f2c75bd0f1f4518
2019-09-23 14:08:59 +02:00
Oliver Smith 5ca12a8359 gerrit, master builds: concurrent OsmoPCU builds
Re-enable concurrent builds for OsmoPCU, and run all builds in
docker. This should prevent previous problems with VTY/CTRL test
collisions, which lead to the concurrent builds being disabled
in I23d5b75825a667e4f043d16a12b841cd8f01af5e.

Related: OS#4204
Change-Id: I4f90a601e41dca18a6fcbab56bdf5663167d2353
2019-09-19 10:48:18 +02:00
Oliver Smith 3d510e87a4 gerrit-verifications: fix osmo-bts cmd
Fixes: 932b003750 ("gerrit, master builds: use ASCIIDOC_WARNINGS_CHECK")
Change-Id: Ia17d6a14ede93bae715fb67826b074ab91f87749
2019-08-23 12:27:39 +02:00
Oliver Smith 932b003750 gerrit, master builds: use ASCIIDOC_WARNINGS_CHECK
The asciidoc warnings check fails the build if asciidoc prints a warning
while building the documentation. We had this enabled by default, but
since OBS uses various asciidoc versions, we could get unexpected build
failures (different asciidoc versions print different warnings).

Now that it is disabled by default, explicitly enable it for jenkins
again.

Related: OS#4140
Depends: Iac993a0d1b17205397a1f1ef1a7bd3f9df739e36 (osmo-gsm-manuals)
Change-Id: I8775d45b4dc1a5a46e2ba042fc7ee7d9f10f18cc
2019-08-21 11:46:24 +00:00
Daniel Willmann 84e2ce3d6e master-builds: Publish osmo-hnbgw documentation
Requires: Ic7437daeab0b07d16fd71ca3881cb31bab7b1925 (osmo-iuh)
Change-Id: Ia1be4ef79a1089d7af582acb63eb3afa5a60f4f3
2019-07-30 16:14:23 +02:00
Oliver Smith 4e2b2bc8a5 gerrit-verifications: add libtelnet
Related: OS#3047
Change-Id: Iafffd9d938ee310bb729b3e2a0a4d80870d4b3b5
2019-07-11 11:06:05 +02:00
Harald Welte a72c87cba2 Add osmo-e1d to gerrit-verifications.yml
Change-Id: I78cfd6052aebbe8cfa215928906f18f8afe3c06a
2019-05-11 21:08:47 +02:00
Oliver Smith 61b9e76cb1 jobs: use "cmd: |", not "# keep first line ..."
Adjust README.adoc to mention "cmd: |" instead of the workaround and
replace this:
  cmd: >
   # keep first line with less indent to preserve newlines
    docker run ...

With that:
  cmd: |
    docker run ...

Change-Id: I65a06acb76e5d693aa187f9ac38970b73e7fead6
2019-04-17 15:35:27 +00:00
Daniel Willmann 627bf3dd2f Avoid '/' in jenkins matrix labels
The script already deals with this for osmo-bts by using the
version_prefix variable

Change-Id: I3102fc607718ca42634273e24e6ff303dc28483f
2019-03-27 18:36:22 +01:00
Daniel Willmann 53fabad926 Also build oc2g support for osmo-pcu
Needs gerrit change I7cd89a549c9463e81893ca7dd925299f728e4453 in
osmo-pcu

Fixes: SYS#4524
Change-Id: Iebddf8d41538fe1e69435cda7f77bd49c4c14477
2019-03-27 18:36:20 +01:00
Harald Welte 7963507fdd gerrit-verifications: Add osmo-ccid-firmware
The repository currently doesn't yet have a contrib/jenkins.sh
script, so all verifications will fail.  This is intentional,
as it will force the addition of a related script in the first merged
commit.

Change-Id: I713d345240dec319ee07d99e9381fc1af6a2d86d
2019-02-04 14:43:39 +01:00
Harald Welte 292aa1c872 add osmo-asf4-dfu master and gerrit jobs
Change-Id: I5bc5ca30809af8d8b472a75a9e02c4964761de38
2019-01-13 13:43:09 +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 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 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 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
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 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
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
Alexander Couzens 92de527e47 jobs: add gerrit verification for pysim
pysim will be tested on the simtester which has real hardware.

Change-Id: I180cc4a83a41f3ef2e4b1e316ea0371cc83be654
2018-07-25 18:52:26 +00:00
Neels Hofmeyr 34b5767e5a jobs: gerrit: use debian-9
This is the same as done for the master builds in
I6f025c642d5ae57cdda9d7b34bbaeb82ca119354,
seems I forgot to follow up with this one.

Change-Id: I9204ca2f083c8a6a04c6c0fc7d51752a4f1a4830
2018-07-05 06:56:49 +00:00
Harald Welte 6866852c37 jobs: add master+gerrit verification job for gapk
Change-Id: Iedf3b43c164ae7e3e653820284c4d4ddaa545784
2018-07-03 15:24:25 +00:00
Harald Welte 63c316738c Add simtrace2 gerrit + master jobs
Change-Id: Ib4da0011337d5a591944821411479f1c6bcc64ee
2018-06-29 21:45:55 +02:00
Harald Welte 227b9ec40d gerrit/gerrit: Add osmo-sysmon build verification
Change-Id: I41411123836d2713f833f78c5920cbbee695ed14
2018-06-10 15:27:08 +02:00
Pau Espin 8e48f3d75e jobs: bts&pcu: lc15: fetch branch litecell15 instead of litecell15-next
Branch nrw/litecell15-next doesn't exist anymore in the remote of that
repository (https://gitlab.com/nrw_litecell15/litecell15-fw).

Change-Id: I162e81573d7aafc0b2e2e1d2ab90cacc7cbb90d7
2018-04-17 17:13:07 +02:00
Pau Espin 28eff46deb jobs: gerrit-osmo-ttcn3-hacks: Make deps before cleaning
make clean has subdir/Makefile as dependency. As a result,
subdir/gen_links.sh and subdir/makefile-regen.sh are called, and
ttcn3_makefilegen in there fails because the dep symlinks are done
against missing files (because git repos in deps have not been checked
out).

Additionally, since 61c11e9234b3f9e087aba94380892ab66abc1191 make
deps-update is equivalent to make deps since the dependency tracking
system was improved, so we can remove it as it's not needed anymore.

Change-Id: I07fee78bba5b07c7f3f4359869e00ef2583e0769
2018-04-14 11:40:04 +00:00
Alexander Couzens bff2750755 jobs: gerrit-osmo-ttcn3-hacks: execute the job on a ttcn3 node
Only ttcn3 nodes have the eclipse-titan compiler installed

Change-Id: If946af8fa3f7bd2d13914c9895d3f74b58fdef24
2018-04-10 18:58:06 +02:00
Pau Espin f49376516b jobs: osmo-trx: Disable temporarily ARM builds
proot crashes with current jenkins node setup, which means we cannot use
it to run ARM based axis.

proot bug is already reported upstream in:
https://github.com/proot-me/PRoot/issues/134

Related: OS#3061

Change-Id: I9bc48349c78f395b3842bc5caaf6e948fb4c299e
2018-03-17 21:25:08 +01:00
Alexander Couzens 8bab2702b4 jenkins: gerrit-builds: replace the label linux_amd64_debian8/9 -> osmocom-gerrit-debian8/9
Introduce more precise labels to allow more flexibility when extending the jenkins setup.
The linux_amd64_debian8 or linux_amd64_debian9 is used across all build jobs which
make it hard to add new nodes which might only support one group of
jobs.

Change-Id: I900b7b50b33cc95e127ca78d2a47f59d32a6dfee
2018-02-25 20:38:13 +01:00
Harald Welte 8efadaf793 ttcn3 gerrit verification: Use 'make deps-update' target
In osmo-ttcn3-hacks Idc165425b45872d2eb958a662d03e69aaf60669d
we introduced the new 'deps-update' Makefile target to properly
update all 'deps' repositories without removing them. Let's use it.

Change-Id: Iabc54182d1d30ef26e4f72fb9db52fd25a6c9800
2018-02-15 18:37:38 +01:00