Commit Graph

79 Commits

Author SHA1 Message Date
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 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 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 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
Harald Welte 0bc2af048b master-builds: add osmo-{cbc,e1d,e1-recorder}
Change-Id: Idfede8e9e79019b67b9aff4881d5cea97514aeba
2019-12-04 12:32:15 +01: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 13eaaa3644 jobs/master-builds.yml: fix osmo-fl2k
Don't use the old "osmocom:amd64" image. Remove the entire cmd line, so
it uses the default docker command with the default docker image
"osmocom:deb9_amd64". Also remove concurrent: true, because that default
nowadays too.

Related: OS#3203
Change-Id: I93db12d3652f26db059e0ede52d2b2fdd3e89d34
2019-12-02 09:54:56 +01:00
Oliver Smith f8d85c9f18 jobs/master-builds.yml: add osmo-fl2k
Related: OS#3203
Depends: https://lists.osmocom.org/pipermail/osmocom-sdr/2019-July/001951.html
Change-Id: Iac411a5d5e312b8db0b5388f58571141fb2f32df
2019-12-01 10:40:16 +00:00
Harald Welte 45ce0417d4 add '--publish' to osmo-asf4-dfu and osmo-ccid-firmware builds
Change-Id: Ie45b9fcabc35f6fd9aff33af0f0587c8ccd88ebd
2019-12-01 10:38:16 +00: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
Pau Espin 4743f82b4c jobs/master-builds.yml: Set node for master axis job
Otherwise the master job managing the axis can be run on any node,
something which is not desirable. For instance, right now job
master-osmo-ggsn is run on osmo-gsm-tester-rnd which is currently unable
to fetch some git repositories.
Let's avoid running master tests on unintended nodes.

Change-Id: I62abb3c490588adc4c0e13c761de44d442f8cefe
2019-10-15 12:37:14 +02: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 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 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
Harald Welte b1ec95f3c7 jenkins: Send build failures to jenkins-notifications mailing list
Change-Id: I5609a0f4b8f176ffa692db732abb4694acaaf927
2019-03-03 16:04:41 +01:00
Daniel Willmann 74eade85ae jobs/osmo-bts: Build osmo-bts-oc2g as well
Build osmo-bts with support for oc2g as well. Uses origin/nrw/oc2g as
firmware.

Fixes: OS#3745
Change-Id: Iaaeb44b949cf6403601f069800c381fe5eae2f6e
2019-02-05 16:56:04 +01:00
Harald Welte 292aa1c872 add osmo-asf4-dfu master and gerrit jobs
Change-Id: I5bc5ca30809af8d8b472a75a9e02c4964761de38
2019-01-13 13:43:09 +01:00
Kevin Redon a6db661afb add maintainer email to simtrace project
Change-Id: Id0a6740749ea1e3d1c06396485744426b0a74f79
2019-01-12 10:25:19 +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 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 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
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
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
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 7dd082959a jobs/master-builds: introduce variable git_base_url to allow other domains than git.osmocom.org
Change-Id: Ia37b5f761c47411ac7eab092f3437acecc492f22
2018-08-14 13:25:07 +00:00
Alexander Couzens 6742a83b96 jobs/master-builds: add repo sysmo-usim-tool
Change-Id: I0e4fec571c3c373000c755cfdb5e56dc09d17413
2018-08-14 13:23:51 +00:00
Neels Hofmeyr 1bfa6c7b62 jobs: master-builds: simtrace2: pass '--publish'
Kevin would like to upload simtrace firmware to ftp.osmocom.org from master
builds. To facilitate, add '--publish' arg, like in master-osmo-gsm-manuals (to
distinguish and not upload from gerrit verification jobs).

Change-Id: I93435aa6f39e9a072754011ae7696b10315f6092
2018-07-10 16:56:40 +02:00
Harald Welte 6866852c37 jobs: add master+gerrit verification job for gapk
Change-Id: Iedf3b43c164ae7e3e653820284c4d4ddaa545784
2018-07-03 15:24:25 +00:00
Daniel Willmann 68a838c435 Restrict where the parent build runs for osmo-gsm-manuals
This seems to resolve the issue where the jenkins job fails due to
missing ssh credentials.

Other jobs can also use this by setting the node property

Change-Id: I23cf2c98f02278a5deb9c4ae8d13438b76538287
Ticket: OS#3338
2018-07-03 05:59:30 +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
Harald Welte a6a42a06c9 master-builds.yml: More fine-grained e-mail notifications
Some projects should alert certain inidividuals/maintainers

Change-Id: I8aca77d557b2471aa23aa3418d72e7a62734524d
2018-06-03 13:53:31 +02:00
Harald Welte 3f4289b35c master-builds: Add rtl-sdr
As rtl-sdr is gaining a ./contrib/jenkins.sh script, we can now also
use it just like our other projects, with a template-generated
"master-rtl-sdr" jenkins job, which can replace the old manually-created
"rtl-sdr" jenkins job.

Change-Id: Ia59f12f31d332bda09242fff1d3e215e8cadc915
2018-04-19 00:20:14 +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
Alexander Couzens 156990fb07 jobs: master-builds.yml: allow osmo-gsm-manuals to build anywhere
When https://gerrit.osmocom.org/#/c/7725/ has been merged, there
is no need to limit this build to OsmocomApi.

Change-Id: Ic5fe39b643e7a15dbfd2efd55dce78dde30cf099
2018-04-11 16:51:24 +00:00
Neels Hofmeyr 2b526e6941 jobs/master: optimize trigger chain
Avoid as many multiple triggers as still ensure all dependent projects are
rebuilt correctly. Keep the full trigger list as comment, and illustrate in a
comment at libosmocore how the chain is intended to work.

Change-Id: Iea2cf25b3872045778f11a985a1c417f37067cd9
2018-04-04 16:53:34 +00:00
Neels Hofmeyr e30bbc5906 jobs/master-builds: move all builds to debian 9 slave
Change-Id: I6f025c642d5ae57cdda9d7b34bbaeb82ca119354
2018-03-29 16:11:33 +02:00
Neels Hofmeyr 59a15e05c3 jobs/master-builds: drop useless 'node' field
The slaves to build on are determined by the slave_axis, the node parameter has
no useful effect.

Change-Id: I029de2a46f22a1b1dc977bce71137eb78b826157
2018-03-29 16:11:33 +02:00