Commit Graph

559 Commits

Author SHA1 Message Date
Alexander Couzens 717531ac98 ansible: add role udhcpd: setup a udhcpd server
Change-Id: Ia272ae9c2b245d0a06f84b91f50dd875d4488e02
2018-04-11 21:28:30 +00:00
Alexander Couzens 1b528d6527 ansible: hosts: gsm-tester: use ansible_host to have more readable ansible output
Change-Id: Ia7b60ace8afd0e2cc47c535da1856d4f34fdd735
2018-04-11 21:28:29 +00: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
Alexander Couzens fd5b9fd097 osmocom-jenkins-slave: install gsm-manual dependencies
Change-Id: I3fa60bd986220e065b1e9eca4308f2b089d505d9
2018-04-11 16:51:24 +00:00
Harald Welte acdde1617b add docker-cleanup.sh script
This script should be executed regularly on all build slaves that
have docker in order to discard unused images/layers.  It would
be a good idea to call "fstrim /" afterwards in order to get more
SSD performance.  However, the latter requires root access, and hence
cannot be called by the 'osmocom-build' user and thus jenkins.

Maybe we should install it as a cron job or systemd periodic timer job?

Related: OS#3144
Change-Id: I688b952578507a9cc28fe682221b5c7e3a245519
2018-04-11 06:07:12 +00:00
Alexander Couzens 3e9d6ad7fd jobs: update-osmo-* reformat a list to be human readable
Change-Id: Ic64463d3974fdbf3967e67a77c75490d7ca80fb7
2018-04-11 06:01:24 +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
Alexander Couzens 56b2a5a723 ansible: docker: cleanup old docker images
Fixes: OS#3144
Change-Id: I77fe38775b3f6055691bbf654de4019916b75fd7
2018-04-10 14:00:24 +02:00
Neels Hofmeyr e12ebb99e4 osmo-clean-workspace.sh: make more robust against broken git clones
Change-Id: Ifa70fd75468b3e21b5c9327ea28bc7a4c8cb549d
2018-04-09 14:50:37 +02:00
Neels Hofmeyr 91404470d6 osmo-clean-workspace.sh: cosmetic: no need to clean -e deps
git clean always excludes git clone subdirs; furthermore, even if I supply a
dir as -e, the contents of that dir still get cleaned out. So it is useless to
pass -e on the commandline. Drop it.

Change-Id: I2b59cc9c9adf88a2663469b22cfeffbd66b5bf2e
2018-04-09 14:50:37 +02:00
Alexander Couzens a73b13b80f jenkins: add job osmo-gsm-tester_gerrit
The job verifies the gerrit patchset.

Change-Id: If661675528059bc8a95d39a6489a5a9381f52677
2018-04-06 06:49:52 +00:00
Alexander Couzens 2f71cccf4f jenkins: add osmo-gsm-tester_run-{prod,rnd}
Both jobs doing the actual test run on the prod or rnd tester.

Change-Id: Ic1c4babc547f48402b0bcfaf38e2734e87e565f0
2018-04-06 06:49:31 +00:00
Alexander Couzens be32123023 jenkins: add job osmo-gsm-tester_build-trigger-all
osmo-gsm-tester_build-trigger-all triggers a new build of all
osmo-gsm-tester build jobs.

Change-Id: I8dcf2a6fa2991cb73b4807f8a10d251f3dca77dd
2018-04-06 06:49:08 +00:00
Alexander Couzens 742bcf74da jenkins: add osmo-gsm-tester-build jobs
The build jobs building all osmocom components which will be used by the
osmo-gsm-tester. A .tgz archive will be used as artefact which is copied
later by the osmo-gsm-tester test run.

Change-Id: Ic49c94e9e6639e43f6ae14b868bc826af3ce2085
2018-04-06 06:48:52 +00:00
Alexander Couzens fa9f2a145f ansible jenkins-slave: only setup ttcn3_slave on debian stretch
Change-Id: Iaf043008890da94098986468e1fd3d9578810206
2018-04-05 19:58:51 +00:00
Alexander Couzens 8490e65155 ansible: install eclipse-titan
Change-Id: I354271b7c573484b7f538a5a4bb29753a950d5f9
2018-04-05 19:58:51 +00:00
Alexander Couzens 7a148bff15 jobs/update-osmo*: add new nodes to the update jobs
Change-Id: Ib103b3343d582f7a78f0c4cec00c94078a078584
2018-04-05 19:58:51 +00:00
Alexander Couzens 4f9a7bef5c ansible: hosts: add host2-deb8build-ansible host2-deb9build-ansible
Change-Id: If0a21f24483b2c1c6ea56e366c5858eee50f17e1
2018-04-05 19:58:51 +00:00
Alexander Couzens 0acdcdc220 ansible: create a new group coverity-slaves to choose the target of coverity
Change-Id: I8b09ca50db938c5c7087a74e5d2575412a916ff6
2018-04-05 19:58:51 +00:00
Alexander Couzens cb2c930723 ansible: hosts: use inventory with ansible_host to have more readable ansible output
As long they don't have a dns entry, use the ansible_host variable

Change-Id: I0888e9b66cd1077dcdada97fb5ee2d56def516e3
2018-04-05 19:58:51 +00:00
Alexander Couzens 6288079faf ansible: hosts: add build2-deb8build-ansible build2-deb9build-ansible slaves
Change-Id: Iede01ab10f0a9582b3a3a9a3ebbbc684b94a3c0a
2018-04-05 19:58:51 +00:00
Alexander Couzens 350af695e3 ansible: osmocom-jenkins-slave: don't install recommend packages
libuhd-dev would recommend uhd-host which seems not be installable on debian jessie in an lxc.
However we should have already listed all explicit dependencies and shouldn't need
anything else

Change-Id: I6859b8180916a8e172d32030da06ba6fa27d5c45
2018-04-05 19:58:50 +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
Pau Espin 5cd1529182 scripts: osmo-deps.sh: Allow building against tags
In case we provide a tag, origin/$tag doesn't resolve correctly, we must
use $tag. Same happens probably if we want to build against a specific
commit hash.

Change-Id: Ica50080c8b3e20686fe6f47a2b61718ef4a66d95
2018-04-02 19:35:36 +00:00
Harald Welte 482c99223e ansible: Add docbook5-xml to jenkins build slaves
Change-Id: Ic0a33a87a61c9cdd1ca60a023bbf2920d04fefcd
Related: OS#3072
2018-04-02 19:35:13 +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
Alexander Couzens 43a7e83921 ansible: jenkins-slave: setup ttcn3 repository
Change-Id: I3aa1bf52f6fcae129278dab7081ea5cfc97d0759
2018-03-27 15:11:44 +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 e0e8ac5395 ansible/roles/osmocom-jenkins-slave/tasks/main.yml: Fix alpha sorting
Change-Id: Ifdcdcd76edf791d66cbd44daa0797c61ab5d83f0
2018-03-17 14:40:31 +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 196402ac65 add ansible playbooks
Introduce playbooks to do:
- setup-jenkins-slave - setup a usualy or special jenkins-slave
- setup-gsm-tester - setup the gsm-tester

Change-Id: I7007a4e6c38f73843390ec2b3b91133aff21e36a
2018-03-16 09:18:11 +00:00
Pau Espin 0765327601 osmocom-latest-packages.sh: Catch latest tags outside master branch
Some projects, like osmo-trx, may have tags created in a non-master
branch. Let's catch those too.

Tested with several osmocom repositories. The ones showing different
behaviour are osmo-trx (expected) and other repositories which have
wrong or no tags and are anyway not used since there's no OBS build for
them.

Old cmdline is left of ==, new is right:
artwork: ( == )
asn1c: ( == )
docker-playground: (debian-jessie-buildslave-0.1.0 == )
layer1-api: (superfemto_v3.8.1 == )
libasn1c: (0.9.28 == 0.9.28)
libgtpnl: (1.1.0 == 1.1.0)
libosmo-abis: (0.4.0 == 0.4.0)
libosmocore: (0.10.2 == 0.10.2)
libosmo-netif: (0.1.1 == 0.1.1)
libosmo-sccp: (0.8.1 == 0.8.1)
libsmpp34: (1.12.0 == 1.12.0)
meta-telephony: ( == )
mncc-python: ( == )
octphy-2g-headers: (OCTSDR-OPENBSC-02.09.00-B1121 == )
openbsc: (1.0.0 == 1.0.0)
osmo-bsc: (1.1.2 == 1.1.2)
osmo-bts: (0.7.0 == 0.7.0)
osmo-ci: ( == )
osmocom-bb: (osmocon_v0.0.0 == )
osmo-ggsn: (1.1.0 == 1.1.0)
osmo-gsm-manuals: ( == v1)
osmo-gsm-tester: ( == 0.1)
osmo-gsm-tester-conf: ( == )
osmo-gsm-tester-sysmocom: ( == )
osmo-hlr: (0.1.0 == 0.1.0)
osmo-iuh: (0.2.0 == 0.2.0)
osmo-mgw: (1.2.0 == 1.2.0)
osmo-msc: (1.1.2 == 1.1.2)
osmo-pcu: (0.4.0 == 0.4.0)
osmo-python-tests: ( == )
osmo-sgsn: (1.2.0 == 1.2.0)
osmo-sip-connector: (1.1.0 == 1.1.0)
osmo-trx: (0.2.0 == 0.3.0)
pysim: ( == )
python-smpplib: ( == )

Change-Id: I3b521a194f0ae9fdfa358423e66f30c1316c23e8
2018-03-07 14:11:48 +01:00
Alexander Couzens a45a34e9d0 osmo-clean-workspace: fix force checkout of a subdirectory
Instead of the subdirectory, the main repository was
forced checked out.

Change-Id: If23e89872edf48dc5b751b3c069faf585bd6a3ef
2018-02-27 15:55:13 +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
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
Alexander Couzens 45bb81c8c0 jenkins: add node admin2-deb8build to the update jobs
Change-Id: I6b703b9f27865b146f20bea953fe3d6500a88166
2018-02-25 17:15:40 +01:00
Alexander Couzens 71cb57cc88 jenkins: add node admin2-deb9build to the update jobs
Change-Id: Ie3803a46ee192dc72823291004ee20f4bdbe0126
2018-02-25 14:07:10 +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
Alexander Couzens e122fef10e jobs: add Coverity Upload Job
Change-Id: I852b42a698a4568b51e993bb5e86efeed6afdb32
2018-02-10 14:48:00 +00: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
Alexander Couzens 9ac76472ba jobs/README.adoc: explain the usage of API Tokens instead of passwords
Change-Id: Ie96288913aae2fe97fa11266ffa9ed098044ccfd
2018-02-06 14:39:58 +00: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 1239cabeea cosmetic: remove wrapper script
The jenkins.sh is just a tiny wrapper around coverity_Osmocom.sh - let's
remove this unnecessary indirection and move the code directly to
jenkins.sh

Change-Id: Iead3b8f39327f1d0dd80e12a9d38563c35701993
2018-01-22 11:03:41 +01:00
Max f086d63c13 cosmetic: remove unused function
Change-Id: Ie3885237cea2afbe5e8c0f89d2280284bb4d9150
2018-01-22 11:02:14 +01:00
Max e10bf97f8f Coverity: specify sysmoBTS L1 headers explicitly
Fix upload by specifying L1 headers location properly.

Fixes: OS#2845
Change-Id: Iba55922295cb2a258f90c5345f592d7d5f34ac51
2018-01-22 11:01:49 +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
Pau Espin f98070d9d5 gerrit-verifications.yml: osmo-sgsn: Remove duplicated concurrent attribute
Change-Id: I808c46c2f4488fd577bb1c23cd13c5b73519265b
2018-01-19 15:11:18 +00: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