Commit Graph

124 Commits

Author SHA1 Message Date
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
Alexander Couzens 6655542cec osmocom-nightly/latest: check if osc is installed
Change-Id: I10ce91eab415c19bb811fbb2fd617d5ce2b58d41
2017-12-07 22:35:33 +00:00
Alexander Couzens 8bcebb5350 osmocom-nightly/latest: document which debian packages are required
Change-Id: If127d0e852ea8e321461d6aa709621167a0a8ecb
2017-12-06 14:38:41 +00: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
Harald Welte 7535f0cd16 Describe our normal (non-gerrit) build jobs in jenkins-job-builder
after the recent successful conversion from manual job definitions
to jenkins-job-buildre of the gerrit jobs, this is an attempt to convert
also the non-gerrit jobs for the common osmocom projects.

WARNING: this file has not been tested yet, it's a WIP.

Change-Id: Ib04707393264a845876659d7bee0cdc9f8b897b6
2017-12-02 22:11:25 +01:00
Neels Hofmeyr b3fda807bd docker for jenkins: update on changes in osmo-python-tests
Download (ADD) the latest patch from git.osmocom.org so that the image gets
rebuilt when new changes were merged to master.

Change-Id: I215f5f6504018d589fa44776a332757a7b870d53
2017-11-29 18:48:02 +01:00
Neels Hofmeyr c7d6cc8638 jenkins docker: move smalltalk to separate Dockerfile
To reduce docker image rebuild time, move the Smalltalk related commands to a
separate file, which is currently not built by rebuild_osmocom_jenkins_image.sh
since there are no jenkins builds using that yet.

Change-Id: I1142f068100ef07ce7f177adaa8a0fe2fedb1b7b
2017-11-29 17:47:44 +01:00
Neels Hofmeyr 6a97f52b9a jobs: describe how to install jenkins-jobs on deb 9
Change-Id: Id3a0684e567ae26ca8158fda56898eb683374d09
2017-11-28 05:44:06 +01:00
Neels Hofmeyr f074019027 contrib/jenkins.sh: rather git checkout -f instead of pull
Change-Id: Idc672879dcb3d38978e27b90c173f0aa950c4eb1
2017-11-28 05:43:26 +01:00
Neels Hofmeyr 48f0c0a2ec jenkins docker: drop hardcoded osmo-deps.sh
The jenkins invocation of the docker image commonly includes the osmo-ci
scripts via binding ~/bin to an up-to-date checkout. We don't need another
version of osmo-deps.sh in /usr/local/bin.

Change-Id: I5ce9ab992afa3c5a7a0bb13b55cae016bc8e805f
2017-11-28 05:16:37 +01:00
Neels Hofmeyr bc07ff92a1 jenkins docker: also install py3 scripts of osmo-python-tests
Allow using the osmo_verify_transcript_{ctrl,vty}.py scripts from the docker
image.

Change-Id: I27d02d516c1cccd5a2447ee8d76ae476d0951d56
2017-11-28 05:16:37 +01:00
Neels Hofmeyr bb459a2d0b jobs: update-osmo-ci-on-slaves: remove build2-deb8build
The node is offline and has been for a long time. The last osmo-ci-on-slaves
job ran for a week waiting for it to come back online.

Change-Id: I5a315d1ce3d7d5763ba07bf29f9cdd5d6f7c6491
2017-11-28 05:16:37 +01:00
Neels Hofmeyr 716413c5be jobs: add update-osmo-ci-on-slaves.yml
Change-Id: Ia933288f87f53f832732f650ba4be30d58faea7f
2017-11-28 05:16:37 +01:00
Neels Hofmeyr 4b5d368932 contrib/jenkins.sh: update from current jenkins job update-osmo-ci-on-slaves
We're not calling this script on the update-osmo-ci-on-slaves job yet. To move
over to calling this script, apply some edits we made on the jenkins UI in the
meantime.

Change-Id: I54d3f56a89934c1c7b0e445b5c447c91bf94d579
2017-11-28 05:16:37 +01:00
Alexander Couzens 83ccbfe87b osmocom-latest-packages: only publish source tar balls if a new tag was created
OBS should only be updated if there is a new tag.

Change-Id: Ife10c9819e5971b001c5be9d313781eb3fd19e23
2017-11-21 14:36:38 +01:00
Alexander Couzens 1b293e89b2 osmocom-latest-packages: fix shellcheck warnings
Change-Id: I1733658ce9b3de595b6087a58da0cb8c8bcf928f
2017-11-21 14:36:38 +01:00
Alexander Couzens 3eb2c50d28 osmocom-latest-packages: introduce $TOP dir variable
Using a $TOP variable makes directory paths more clear
to understandable. Path now expressed starting from the TOP dir
instead of using ../../../foo

Change-Id: I7a87532a3232fbcfb5f676588991dbc59a34f739
2017-11-21 14:36:38 +01:00
Alexander Couzens d43eda7abb osmocom-latest-packages: set -e: exit on any failure
Change-Id: I8dbf32a731d01b6eba933b8af22500c5edd1502d
2017-11-21 14:36:30 +01:00
Harald Welte 92525a71d4 osmo-ggsn + openggsn: Build with and without kernel GTP support
Change-Id: I974ba11fd8ef1ed87ec87fb64b8da44d5a8fec9f
2017-11-14 14:47:14 +09:00
Harald Welte b9f2e75fbe jenkins: Add gerrit verification job for libgtpnl
Change-Id: I9dfe4a619f75574cc0a61ab978f4450252b6c171
2017-11-12 14:19:38 +00:00
Holger Hans Peter Freyther 9e6db799d5 jenkins: Follow the convention and create a jenkins.sh as well
Instead of modifying the job on Jenkins, let's do it like in our
other projects. Create the diretcory if it doesn't exist and use
git pull origin for the Debian9 system.

Change-Id: I0ecdc02e3271fe09980f370167277370c599fcfa
2017-11-10 16:43:06 +00:00
Pau Espin adc35d0e69 osmo-deps.sh: Force fetching git tags
It was recently spotted, in a osmo-msc jenkins build, that an updated
dependency (new commits to be fetched) contained a new tag which was
not fetched with the commit. It resulted in the Makefile generating an
old .version file, which ended up generating a library version in the
.pc which later in the build make the configure script fail while
checking at the dependencies.

As far as I could understand after reading several discussion threads,
it seems git fetch doesn't necessarily fetch and store locally all new
tags found in the remote, and we need to explicitly add the --tags
parameter to be sure all of them are downloaded.

This patch adds a new fetch line instead of patching the one already
present because it seems in old versions of git the --tags parameter had
a different behaviour, in which only tags and not branches are fetched.
This way is ensured that we get both correct regardless of git version.

Change-Id: I4bfe4846959c70e435d6792a755a6f2a6f0a932c
2017-11-07 16:40:00 +01:00
Harald Welte 43aa00dbd4 coverity: Don't use PARALLEL_MAKE for libsmpp34
... which apparently doesn't support this and every so often breaks
the coverity upload build

Change-Id: Id78f80cf0878a0807cd06a24fa5c9561c7b84b36
2017-11-05 08:55:12 +01:00
Harald Welte d81f473140 gerrit jenkins jobs: Remove comment-added-event
This trigger is responsible for triggering another build
once the first build is complete and sets a +V

Change-Id: I235e0211a01da0eb74d8e6a9581aa34b59073ca0
2017-11-03 19:46:13 +01:00
Neels Hofmeyr ccafbb7c53 jobs: gerrit: fix openbsc: name must case-sensitively match git repos
Change-Id: I699c4f5f04a416b92be395c303d6bf0edbf320e4
2017-11-01 14:42:09 +01:00
Neels Hofmeyr fdfa976db0 jobs: gerrit: fix osmo-hlr slave label typo
Change-Id: I78a4b600571e79174dbbdd24bbee23df4b2fd221
2017-11-01 14:20:07 +01:00
Neels Hofmeyr 135f448545 osmo-deps.sh: fix: add 'origin/' to branch, to properly update
If I have a git clone that once did 'checkout [-f] branch', and if then
origin/branch gets updates, doing another 'checkout -f branch' only goes back
to the local tracking-branch of origin/branch. We never pull in changes from
origin/branch anymore as soon as a local branch exists. Always prepend
'origin/', so that 'checkout -f' goes into detached-HEAD state onto the newest
fetched revision.

Change-Id: Ia715a100b5beaf7e612c2c64cdad8819aa00c8bd
2017-11-01 13:47:31 +01:00
Harald Welte 64c82cdeaf gerrit-verifications.yml: Remove FreeBSD_amd64 builds
In early September we asked on the public mailing list if there are
any users of the FreeBSD builds, and there was no response at all.

Let's disable the build testing on FreeBSD.  This will significantly
speed up our build testing, as well as pave the way for a more
comprehensive docker/containerization of build testing.

We're still extremely happy to merge any patches for support of
FreeBSD or other operating systems.  But the core Osmocom developers
will not perform related testing / porting.

Change-Id: I2c6d2a17c3cf9d8c78c3675995493e30cbc6be0d
2017-11-01 09:50:16 +00:00
Neels Hofmeyr d753583177 jobs: gerrit: make all docker builds concurrent
The point of using docker is to allow concurrent builds, hence set 'concurrent:
true' for all jobs using docker.

Change-Id: I6333ee2856cbeb0cc3eb14c381ac8faf838c5f97
2017-11-01 01:39:12 +01:00
Neels Hofmeyr 068ed25a2a jobs: README: better explain newlines curiosity and update behavior
Change-Id: I9707091a4dcfc65bd378fab02bf24692debb60ed
2017-11-01 01:34:24 +01:00
Neels Hofmeyr fb06801fee jobs: gerrit: fix missing indents in 4 jobs
fixed in osmo-bsc, osmo-mgw, osmo-sgsn, cellmgr-ng:

Spanning a single shell command across several lines with backslashes in the
end breaks when the newlines are not preserved: the backslashes escape a
following space, which is joined to the following cmdline arg.

Add the leading less-indented comments that curiously lead to preserving the
newline characters in the cmd sections.

Change-Id: Icfd6cfb7ca4172795620e1d7ee60610db4f7226b
2017-11-01 01:26:29 +01:00
Harald Welte c758c4e1d4 osmocom-nightly-packages: Build latest libgtpnl
libgtpnl is the userspace library for using kenrel GTP-U support,
which is used by openggsn (and will be used by osmo-ggsn).

Change-Id: Iad600a36cb658bbd874b4587ec514f49703d6a45
2017-10-30 23:35:54 +01:00
Neels Hofmeyr 4cc4060a12 jobs: gerrit: fix osmo-mgw and osmo-bsc: remove stray '
Change-Id: I565876176c3827a2696a228f9a81a1cc10a34ca9
2017-10-30 05:14:34 +01:00
Neels Hofmeyr 0ee68a25f3 jobs: gerrit: fix cellmgr-ng
Change-Id: I4ab24f66909e43c0447265e027593a56d0dfa52c
2017-10-30 05:14:28 +01:00
Neels Hofmeyr 41e8427732 gitignore: also ignore jenkins-jobs.ini with a dash
Some may "accidentally" use a dash when reading the README file.

Change-Id: I34877e2ba874c71b1be0079125f3662a9492a314
2017-10-30 04:43:38 +01:00
Neels Hofmeyr cf60aaa5f2 jobs: yml files: set vim expandtab (and shiftwidth)
Having tabs in the yml files cause parse errors. For vim convenience, add
comments that instruct vim to expand the tabs to spaces.

Change-Id: I5f0598a31e30d1a9440c40935644bb782f645664
2017-10-30 04:43:38 +01:00
Neels Hofmeyr 874f03a3a2 jobs: overhaul README to actually help in usage
Change-Id: I5981583d9248bfb47a42e930bd7733bfbce1219c
2017-10-30 04:43:38 +01:00
Neels Hofmeyr 6d9ba13ef0 jobs: fix multiline cmds with less-indented first line comments
Interestingly enough, only a line that has more indenting than the first line
also receives an actual newline in the resulting jenkins Execute Shell section.
Hence insert '# keep first line with less indent' comments.

Change-Id: I13bcb41fa0e59b60a201c2b769bad42067e34ab8
2017-10-30 04:43:38 +01:00
Neels Hofmeyr 4280b49da8 jobs: gerrit: fix: don't do git plugin cleanup
After the "manual" cleanup from I2409b2928b4d7ebbd6c005097d4ad7337307dd93 has
been applied in numerous jenkins.sh scripts of the various osmocom projects,
drop the git plugin cleanup step.

Rationale:
- The git plugin cleanup apparently does not check against non-writable files,
  like leftovers from a failed 'make distcheck'. If any are left behind, the
  build fails even before the build steps start.
- The git cleanup would wipe out all git clones, which we're trying to re-use
  across rebuilds now.

The osmo-clean-workspace.sh takes care of this, so don't use the jenkins
plugin.

Change-Id: I8a43b851cef2ad7e8582f1e9bbe3547e3b77fc1a
2017-10-30 04:13:45 +01:00
Neels Hofmeyr 7b27e14340 jobs: gerrit: fix osmo-msc: missing ARTIFACT_STORE docker mount
Change-Id: Ibeca6f1afad263fb9756ad1d6ce3e55d51ac322b
2017-10-30 04:13:45 +01:00
Harald Welte 9dd60ec017 gerrit-verifications.yml: Don't skip the vote
Change-Id: I4eb153701baf1652394bda7505dcd3bc31e28570
2017-10-29 18:48:15 +01:00
Harald Welte 7c40acc9bb gerrit-verifications.yml: Don't build drafts or no-code-changes
Change-Id: I19e8004a2016626e3525eca690c84800715e4fdc
2017-10-29 18:48:15 +01:00