Commit Graph

543 Commits

Author SHA1 Message Date
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
Harald Welte 0a6bed8905 gerrit-verifcations.yml: Make sure we add a +V=1 on successful builds
Change-Id: I0b3bcb4661a144e231613398031c0aadf8781bb8
2017-10-29 18:48:15 +01:00
Harald Welte 920b27baa3 gerrit-verifications.yml: Add missing git 'name' and 'refspec'
The 'name' and 'refspec' attributes for the git SCM fetcher were
not configured correctly (like in old manual job definitions)

Change-Id: Ibc63751838c14a449464afeec56930021bef37be
2017-10-29 18:48:15 +01:00
Harald Welte 6a582f1177 gerrit-verifications.yml: Turn gerrit URL into hyperlink
Change-Id: Ia9855f8d8c547f32439df2eea50fb755dfeba388
2017-10-29 12:16:03 +00:00
Harald Welte 5ce7f79e68 gerrit-verifications.yml: State in job description that job is managed
to prevent accidential / unintentional manual modification

Change-Id: I26b20a879fe29f153487757ac50f88acb9655338
2017-10-29 12:16:00 +00:00
Harald Welte 4732773c39 gerrit-verifications.yml: Rename from *-gerrit to gerrit-*
Let's rename the auto-generated jobs to make it easier to differentiate
from the old manual jobs with -gerrit suffix.

Change-Id: I9e46f03834e1b500b27c16f4a728f0b82dff0933
2017-10-29 12:15:55 +00:00
Harald Welte 3027ead9e9 gerrit-verifications.yml: Manual sync with current jobs
This is the result of one pass through all gerrit jenkins jobs
currently [manually] configured on jenkins.osmocom.org together
with alphabetically sorting the definitions to match the order in
the Jenkins Web UI.

Change-Id: I42051e76234b2695934183188f074ee7e467f58c
2017-10-29 11:56:34 +00:00
Harald Welte b63da48bd7 Add JJB YML for Osmocom_OBS_latest
Change-Id: I59a901727e35a35ba0fe73c09accb0bd1fa6b7ab
2017-10-28 23:44:05 +02:00
Harald Welte 3c1889e198 Add osmocom-latest-packages.sh script for network:osmocom:latest
Change-Id: I8b036e57d8a5f4e08081c9641bbef50fead0c52a
2017-10-28 23:22:43 +02:00
Neels Hofmeyr 6350953170 osmo-deps.sh: make sure to not clean all deps when inside a dep dir
Make sure osmo-deps.sh passes no $deps in to osmo-clean-workspace.sh.

In most builds, $deps is a relative path, and when within a dir that contains
no such subir, calling osmo-clean-workspace.sh has no effect. However, in some,
$deps is passed in as absolute path, so when within a deps/... subdir in
osmo-deps.sh, the script would still find the abspath and clean out all deps
subdirs; for example in osmo-bts.

Change-Id: I431d20aedefc708645a1f1862334cffaef20b928
2017-10-28 04:19:23 +02:00
Neels Hofmeyr f9c1cb2777 scripts: use 'git checkout -f' instead of 'reset --hard'
'checkout -f' more accurately does what is intended. 'reset' changes the
current branch to some hash, 'checkout -f' force-checkouts another branch.

Change-Id: Ic6279ebaf8160bceb3fa2ab40eff0b888ecd5009
2017-10-27 22:37:22 +02:00
Neels Hofmeyr 7c5e34cba0 osmo-build-dep: offload branch checkout to osmo-deps.sh
In osmo-deps.sh, add second arg $branch, and also name the first one (i.e.
$project). Use the passed branch or 'origin/master' by default.

In osmo-build-dep.sh, it's not necessary to do a second 'git rev-parse HEAD',
osmo-deps.sh already does it.

Change-Id: I598c41a12352acea6e49a321ad2f665f6ea07a44
2017-10-27 22:37:22 +02:00
Neels Hofmeyr f42a1cfa50 add osmo-clean-workspace.sh, use in osmo-deps.sh
So far, each jenkins job does its own cleanup, more or less well. Also, jenkins
git config offers the 'Clean before checkout' option, which seems to fail when
there are non-writable leftovers from a failed 'make distcheck'.

Furthermore, our jenkins build slaves have unused compiled binaries piling up
by the gigabytes: each matrix build x each parallel build and each compiled
dependency therein builds .o, .a, .so and executables plus installs them to a
local prefix, and just leaves them sitting around to rot until the job runs
again. Instead, we want to clean them out when building is done.

All of this calls for a unified cleanup script that knows how to clean a
workspace properly, to run once before and once after each jenkins build.
Here it is.

Use that function in osmo-deps.sh instead of duplicating cleanup steps.

Change-Id: I2409b2928b4d7ebbd6c005097d4ad7337307dd93
2017-10-27 22:37:22 +02:00
Harald Welte 26f9d8768b osmocom:nightly OBS: add osmo-bsc package / remove nitb-split
This was the last package that we only built in
osmocom:nitb-split:nightly, so we can remove the latter, too

Change-Id: Ib99e0775e9db30ec3c5263bb3a364d8cab4633c3
2017-10-26 20:53:05 +02:00
Harald Welte ff683afa2d osmocom:nightly OBS: Add osmo-msc + osmo-mgw
Change-Id: Ie417f912f11f3a45c6efb39595d6a4d89cf3a058
2017-10-26 18:01:23 +02:00
Harald Welte 27d8069385 osmocom:nightly OBS: remove old osmo-stp/cellmgr-ng package
this package doesn't exist in the OBS anyway, yet we continue to attempt
to upload it there. Stop that :)

Change-Id: I0f0726ed412e4a281dcf99047ca22b494216b4ad
2017-10-26 18:01:05 +02:00
Harald Welte a41cee7703 coverity: build with --enable-trx
Change-Id: I0684bc04b82ad57a1513bbd4627144d6c254b965
2017-10-11 08:45:35 +08:00
Harald Welte f30f7ad645 coverity: clone + build osmo-{mgw,bsc,msc,hlr}
Related: OS#2564
Change-Id: I6f046943f045a97c2bae4e99485a474c11d90a90
2017-10-11 08:44:44 +08:00
Harald Welte e314bfe247 coverity: osmo-bts now builds without openbsc
Change-Id: I09565441c0d9eb907edba82b26df38d08a5d868d
2017-10-11 08:44:23 +08:00
Harald Welte 171bfc2dd7 coverity: Add support for $PARALLEL_MAKE environment variable
Change-Id: I95b0e5f104155ac7c5ae993b7f3c0c0721d0157b
2017-10-11 08:44:23 +08:00
Harald Welte 34058b0856 coverity: Reduce codeduplication in build_Osmocom.sh
We don't need a separate build_foo function if it is identical in
its body except for the 'foo' (project name).  Let's clean this up.

Change-Id: I27e9fc94142b42a7b7c2f9eca89056e1f90f1f0e
2017-10-11 08:44:23 +08:00
Harald Welte 6853b7dac1 coverity: Don't start with a new clone, but simply fetch/checkout
If a given git clone already exists, simply do a fetch + checkout -f,
rather than cloning a decade worth of history from scratch.

Change-Id: Icecb2d00a75bc303d84efafee5c1f2d52ba1b6b3
2017-10-11 08:44:18 +08:00
Harald Welte 5b05a88bb3 nightly-pacakges: don't copy over gsm_data_shared.[ch] anymore
This is no longer needed by upstream osmo-bts since Change-Id
I9f004fb5c4c1db29d4792dfd281d388c7063da13

Change-Id: Ie53482a1538d1559e764da86dbbb78031c9c386b
2017-10-10 11:44:56 +08:00
Harald Welte 973dca9917 osmocom:nitb-split:nightly Re-introduce osmo-sgsn + osmo-ggsn
For some strange reason, in commit
8e9fe08080, the osmocom:nitb-split:nightly
package feed was rendered to use old packages for sgsn+ggsn, rather than
current ones by removing the "osc upload" from this script, but still
leaving the packages in OBS at
https://build.opensuse.org/project/show/network:osmocom:nitb-split:nightly

Removing them half (only in osmo-ci but not at OBS) is a bad idea, as
it leaves people with old packages who actually want to use nightly
builds.

Also, removing the packages in general is a very bad idea.  People
are *either* using osmocom:nightly, *or* they are using the
osmocom:nitb-split:nightly feed, but not both. So we cannot remove
any packages from the osmocom:nitb-split:nightly feed until we have
introduced all those packages to osmocom:nightly *and* we have given
people sufficient notice to update!

Change-Id: I5c091127d92a4b4beb7355e16abd9788fa3b9fe5
2017-10-06 10:13:09 +08:00
Harald Welte 418e728fc2 osmocom-nightly-packages.sh: Add libasn1c required by osmo-iuh
Change-Id: Ia455655eaf53faeab6c3049a54c153cb9ddd3d37
2017-10-06 10:03:37 +08:00
Max 707c200607 Add osmo-iuh to nightly .deb builds
It produces libosmo-ranap-dev which is required by osmo-sgsn.

Change-Id: Ief40137cc94e2c54da8c12e2a00953834a578171
2017-10-05 11:23:35 +02:00
Max 1b3bf67bf2 Fix OsmoSGSN nightly build
It depends on libgtp provided by OsmoGGSN so let's build it in that
order.

Change-Id: Icedc259ddc3a3b83ce8fe87f5572596ef29d6814
Related: OS#2527
2017-10-04 12:07:39 +02:00
Max 8e9fe08080 Use new GPRS repositories
* use coverity check on osmo-ggsn instead of openggsn
* move osmo-sgsn and osmo-ggsn from nightly-split into nightly

Change-Id: Ia49969cbfb9ef57b635a3b5759f411f71a54f8e1
2017-10-02 08:37:40 +00:00
André Boddenberg 6c401be095 Gerrit verification jobs as Jenkins Job Builder YAML [1] file.
All jobs are in jobs/ directory and will be automatically verified and
deployed in a follow-up commit.

Note: osmocom-nightly-nitb-split.yml has been moved to jobs/ dir.

[1] https://docs.openstack.org/infra/jenkins-job-builder/

Change-Id: I04387367a6e2d737bfb50423c81a8908d3c2a89f
2017-09-19 16:05:38 +00:00
Harald Welte b258f0cfc8 build both openggsn (old) and osmo-ggsn (new) in nightly feeds
Change-Id: I310c6237ce5ec34e4cc008123a5219d5cadaf7a3
2017-09-06 10:55:52 +02:00
Harald Welte f73c1c50f0 change from openggsn to osmo-ggsn in nightly nitb-split packages
Change-Id: Ie0d6d39ad0451733f6577844737f63028d087d8e
2017-09-06 09:36:42 +02:00
André Boddenberg 6cbb843fa3 Change used protocoll for 'git ls-remote' call from https to git.
Otherwise script depends on availability of https://git.osmocom.org, which is currently down.

Change-Id: Icf2a6b425177ef24aef1dba6e270d36fdc05d214
2017-09-04 20:23:30 +02:00