Commit Graph

157 Commits

Author SHA1 Message Date
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
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
Harald Welte b602e355f2 Add laforge@gnumonks.org to all build failure notifications
Change-Id: I989075eb0cd930d42daa36d9d8501592141c0310
2018-03-17 14:40:31 +01:00
Alexander Couzens 77f5ceb8d4 jenkins: master-builds: replace the label linux_amd64_debian8/9 -> osmocom-master-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: I0fa3d3f81ab01e2488fe07601740f42eb54b6d9c
2018-02-25 19:58:30 +01:00
Harald Welte 64be006cd2 master-builds: Add missing dependencies / triggers
There were a lot of downstream triggers that we were missing.

I manually reviewed the debian/control files and used that to update
the trigger lists for all jobs in master-builds.yml.

Change-Id: I12057c9bb389041ef3bcabd1c335a0fa8c358092
2018-02-09 11:25:21 +01:00
Max 9294d2124f jenkins: fix jobs template
The sequential parameter was silently skipped because it was absent from
the project template. Fix this for both master- and gerrit- jobs.

Change-Id: I0bc28695f4f270bc7b1cc4bcd5d4d43ede6172f3
2018-01-22 16:27:38 +01:00
Max ce1d21fec1 libosmocore: use dispatcher script
Get rid of job name comparison because it depends and exact build server
name and hence is highly fragile. Use dispatcher script the same way we
do in osmo-bts.

N. B: this requires I2955e866bce4f000a53369bd601a346c36c82468 in
libosmocore.

Change-Id: I76dfc11a05007ae5c6e0554fe8132695b67cccaa
2018-01-21 21:14:41 +00:00
Harald Welte 9b23074eeb jobs: Add {master,gerrit}-libusrp
Change-Id: I2b208455b7bd008fb25322280894c100e51f2227
2018-01-21 18:34:13 +01:00
Neels Hofmeyr 8bd700d33d jobs: master: also trigger once per day
Recently we had changes to osmo-ci, and I noticed that although some master
builds were broken by that, the builds were still showing success -- of twenty
days ago.

Run each master build at least once a day to indicate odd side effect failure
sooner.

Change-Id: I126de2bab3db22cb693b0fa665f6579de9238fdf
2018-01-19 12:52:22 +00:00
Max 5dbe9a4617 Don't run OsmoPCU tests in parallel
The vty and ctrl tests are enabled by default and are run on hard-coded
ports. This causes some builds to fail when run in parallel.

Change-Id: I23d5b75825a667e4f043d16a12b841cd8f01af5e
2018-01-17 16:01:53 +00:00
Max 595ea2df16 Fix missing OsmoPCU master build
Similar to Idac6e53b1e0addbcb5b6c99b8051e1e0ad26bc5b fix the master
branch builds.

Change-Id: Icdd53a7cb037324a568e8eab529716e030e00583
2018-01-17 14:28:30 +01:00
Pau Espin 13738fa235 jobs: osmo-trx: Set slave_axis to use only debian9
Debian 8 contains quite old qemu and proot packages which have some
issues running the chroot infrastructure set up in osmo-trx's
jenkins.sh.

Change-Id: I24665880fff5a5b918bb6ffaf1e7bb51ae860b0b
2018-01-15 18:40:59 +01:00
Pau Espin 02ec80b3cd master-builds.yml: Build osmo-trx with different optimization instruction sets enabled
Change-Id: I651e182dfd62ef4b88d013d8b5960ce7e3562ecf
2018-01-15 10:31:57 +01:00
Pau Espin 7546e94852 master-builds.yml: osmo-sgsn: Remove duplicated concurrent attribute
Change-Id: I32938d4c1854ce65faa718eccaecb5e3143dbcd0
2018-01-15 09:51:12 +01:00
Max 191a374790 Notify per email about master branch build failure
Change-Id: I0a72d36d777ba582815b2cdef8130ee88c060b54
2018-01-12 16:56:05 +00:00
Neels Hofmeyr c528cc12d0 jobs: master: fix: libosmoabis should trigger osmo-hlr
Change-Id: I9a122cee4fa98115140e4a34f623958697affed2
2017-12-19 23:55:49 +01:00
Neels Hofmeyr 7e12155042 jobs: master: osmo-gsm-manuals: use new jenkins.sh, only on OsmoBuild1
Change-Id: Ida1301a3f83caff400e80c8b46504f98cb0894ab
2017-12-15 19:31:27 +01:00
Neels Hofmeyr 163eef27de jobs: cosmetic: readability: docker one-arg-per-line
Change-Id: I8b18a5bc54a879002b40b0fc51cd295e82beba4f
2017-12-15 19:31:27 +01:00
Neels Hofmeyr b62f264eaf jobs: master: adjust triggers to what was found on old jenkins jobs
Change-Id: Ib59247978ed92b72949260a79628b28754a44484
2017-12-15 19:31:27 +01:00
Neels Hofmeyr 53bb902b3f jobs: master-builds: fix git master branch polling
The 'refs/heads/origin/master' somehow caused that git polling would not
trigger builds. 'origin/master' was succesful in a manual test, so set all jobs
to that.

Change-Id: Id033d1bfce6cc9e20fbbf9be462842b9e44bde83
2017-12-13 02:32:22 +01:00
Pau Espin 787a51f51f jobs: Fix osmo-ggsn GTP build option
As far as I understand, the variable is populated using the name field.
In openggsn build it matches, but it doesn't in osmo-ggsn.

Change-Id: Ifb1a630b77a8c2f442e26dbef8e608882e8f9a71
2017-12-09 02:45:25 +01:00
Neels Hofmeyr 50201fc9e3 jobs: master: drop legacy openggsn (now is osmo-ggsn, also present)
Change-Id: I219a988f94b465ac8bb77319735aedbe49707c16
2017-12-09 02:45:04 +01:00
Neels Hofmeyr 55ea22ede3 jobs: master: drop unused axis a4
Change-Id: I4b9db4077eacca649c679333e24b2eb7338a96e6
2017-12-09 02:18:04 +01:00
Neels Hofmeyr 3e69d3d7d4 jobs: master: fix post-build trigger of downstream jobs
Firstly, we don't have the downstream-ext plugin installed on our jenkins. We
want to use the 'trigger' publisher instead.

Secondly, since the jobs created here are called master-*, we also want to
trigger master-*.

master-libosmocore also triggers SIMtrace and xgoldmon, which aren't covered by
this jobs config, hence they don't get a master- prefix.

Change-Id: If9e8c4b02fce34fddceb4f07bf024210600f6270
2017-12-09 02:18:04 +01:00
Neels Hofmeyr 28564a6977 jobs: gerrit, master, update-osmo-ci: fix build-discarder section
The build-discarder section was silently not working. It needs to be nested
below a 'properties' node.

Also the names need to be dashed and not camelCased.

Change-Id: I9503200a8873e616f9195d4bb1d6163c464b305e
2017-12-09 01:13:18 +01:00
Neels Hofmeyr 40c52cf1d3 jobs: master-builds: libosmo-sigtran should trigger bsc and iuh
osmo-iuh in turn triggers osmo-msc and osmo-sgsn, no explicit triggers needed
here.

Change-Id: Ifd950660cdc3417e82b0a8f4ce2b1efde880cb7a
2017-12-02 23:15:56 +01:00
Neels Hofmeyr 80d0d8cd9b jobs: master-branches: trigger sgsn from iuh
osmo-sgsn uses libosmo-ranap and hence should be triggered from osmo-iuh. This
naturally "includes" a trigger for libosmo-sigtran.

Change-Id: Ia356dc2a8d5120f9d6262bf8eb25c32fe71e76c9
2017-12-02 23:15:56 +01:00
Neels Hofmeyr 43a1c96075 jobs: master-builds: osmo-bsc is now also a downstream of osmo-mgw
Change-Id: I03c63108bd845ee723d565c3dddd4e930bb68bef
2017-12-02 23:15:56 +01:00
Neels Hofmeyr d2bd8f5095 jobs: master-builds: apply various initial fixes
libosmo-sccp, osmo-ggsn: The osmo-gsm-tester builds are downstream builds, yes,
but we configured that with the osmo-gsm-tester builds: instead of telling
libosmo-sccp to build osmo-gsm-tester_build-osmo-stp when done, we configure
the osmo-gsm-tester_osmo-stp to build after libosmo-sccp. So that the master
branch builds don't need to have any knowledge of osmo-gsm-tester.

osmo-msc build triggers should rather be post-build triggers of osmo-iuh and
osmo-mgw, like the others. Then we can also drop the pollscm here, and use the
pollscm that is common to all other builds.

Call these jobs 'master-*'. It more accurately says what they build, and also
we can install the jobs from this file next to the current, old ones, without
overwriting them and thus we'll have an easy rollback path. The new ones can
co-exist with the old ones until the new ones are verified to work, at which
point we can drop the old ones.  Line 313:

IIUC the safest git branch is 'refs/remotes/origin/master'.

This is still untested!

Change-Id: If2ad9c90a0986d1304cd53383d3df5b375f23ac8
2017-12-02 23:15:56 +01:00
Neels Hofmeyr 30e4b60a13 jobs: rename normal-builds.yml to master-builds.yml
Also apply the rename in the job names

Change-Id: If623e573e49d4f1a409139c112afbc34e4cc450e
2017-12-02 23:15:37 +01:00