Commit Graph

194 Commits

Author SHA1 Message Date
Oliver Smith 2c13d633ec gerrit-verification: fix erlang cmd
Jenkins job builder only does one pass of variable substitution. Replace
the cmd_erlang variable with its contents, so the jobs don't fail with:

[osmocom-gerrit-debian9] $ /bin/sh -xe /tmp/jenkins7189809471369692535.sh
+ {docker_run} {docker_img_erlang} /build/contrib/jenkins.sh
/tmp/jenkins7189809471369692535.sh: 2: /tmp/jenkins7189809471369692535.sh: {docker_run}: not found

Fixes: aadc60f403 ("jobs/gerrit-verifications.yml: add erlang repos")
Related: OS#4345
Change-Id: I6e121c79ecf872a7058de3a6dc0a940fa8091f68
2020-01-17 15:03:08 +00:00
Oliver Smith 5434eb477f osmocom-release-tarballs: publish with rsync
Related: OS#3870
Change-Id: I5f88ae0c483ed03c42c47d1cd207ac2722cfa083
2020-01-17 15:52:16 +01:00
Oliver Smith aadc60f403 jobs/gerrit-verifications.yml: add erlang repos
Run contrib/jenkins.sh in erlang repositories, that were recently
updated (osmo_gsup, osmo_dia2gsup, osmo_ss7).

Depends: docker-playground Ia3eaec6090c9652549b2850de74ee21730374bbd
Related: OS#4345
Change-Id: I05d152de6b7a04dee935d79b9987c511351eca95
2020-01-15 10:26:23 +01: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
Oliver Smith 51e91cd9bb gerrit-verifications: introduce "gerrit_url" var
Prepare for erlang repositories, which will use this variable.

Related: OS#4345
Change-Id: Ia91764797745b48ae832cfbc16976e561b288a50
2020-01-14 14:47:53 +01:00
Oliver Smith c31ee44bd8 jobs/update-osmo-ci-on-slaves: origin/master only
Don't run, when different branches were pushed.

Change-Id: I2cf55391066b60cf6a594f528ed0eaf59a886391
2020-01-08 15:04:25 +01:00
Harald Welte 0bc2af048b master-builds: add osmo-{cbc,e1d,e1-recorder}
Change-Id: Idfede8e9e79019b67b9aff4881d5cea97514aeba
2019-12-04 12:32:15 +01:00
Harald Welte 71c642a0a5 add gerrit-verifications for osmo-e1-recorder and osmo-cbc
Change-Id: I1df28b4e7a7cbcf9151cd57a77001d88f1875415
2019-12-04 11:06:05 +00: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
Harald Welte 3038c19155 WIP: coverity: Make sure curl is installed, as our coverity upload job needs it
This is untested. I'm on the train and have very limited understanding
of Ansible

Change-Id: I9918b89971bf6c2e200f1d96d993d5fbd6741b71
2019-11-23 09:19:10 +01:00
Pau Espin 95d4544544 jobs: Introduce ttcn3-stp-test(-latest) jenkins job
Change-Id: I7a82e1fa82cd28433cdb7a9128c7ab3da6cabf47
2019-10-24 16:52:04 +02: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
Harald Welte d3a5d51e47 jenkins-jobs: Add ttcn3-remsim-test for {master,latest]
Change-Id: Ib4e3f3f0153c38765868cfd2014cd56cd47c2c79
2019-09-13 14:02:17 +02:00
Oliver Smith 3d510e87a4 gerrit-verifications: fix osmo-bts cmd
Fixes: 932b003750 ("gerrit, master builds: use ASCIIDOC_WARNINGS_CHECK")
Change-Id: Ia17d6a14ede93bae715fb67826b074ab91f87749
2019-08-23 12:27:39 +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 ef81fd660a jobs: upload to OBS before debian-install test
Make sure that we don't test yesterday's packages. Adjust timers to run
the OBS job around 1 o'clock, and the debian-install test around 4
o'clock. Use the H (hash) symbol for minute to spread the load.

Change-Id: I503058018172d50e9585d4804dfec1b4ece7644a
2019-07-26 08:55:21 +02:00
Oliver Smith b86cf865c1 osmocom-debian-install.yml: add BRANCH variable
Allow changing the branch in the jenkins UI when starting the build.
We already have this in other jobs, and it is very useful to test
changes.

Change-Id: Ice4662551625b3c96ca105629a934a0a081db2e4
2019-07-23 12:14:26 +00:00
Oliver Smith 6550682ee0 osmocom-debian-install.yml: update description
Replace "Generated by job-builder" with a proper description. The job
builder automatically adds "<!-- Managed by Jenkins Job Builder -->" to
the description (which is visible when editing the job), so we don't
need to mention it in the description at all.

Related: OS#3369
Change-Id: I17d2e9e0ac7fe77fb0306724a1f1e15641d76854
2019-07-23 12:14:26 +00:00
Oliver Smith 4e2b2bc8a5 gerrit-verifications: add libtelnet
Related: OS#3047
Change-Id: Iafffd9d938ee310bb729b3e2a0a4d80870d4b3b5
2019-07-11 11:06:05 +02:00
Oliver Smith cbc11dc112 jobs: add osmocom-release-tarballs.yml
Related: OS#3870
Depends: I991fe41a1f55ccd6a66815ec3d7f239850397d9a (docker-playground)
Change-Id: I994da5c27f9198e5bcf2d567dd473f9ed078d9c0
2019-07-02 13:27:44 +02:00
Oliver Smith 85163cd7f4 jobs/osmocom-obs.yml: set default git branch
I was quite surprised, that the job used "osmith/pdfs-in-doc-subpackage"
instead of "master" today [1]. Fix this randomness by adding a branch
parameter that defaults to "master".

Interestingly, we have to set the default branch to
"refs/remotes/origin/master". When using "*/master" (like we do in other
jobs), Jenkins would still chose my branch over "origin/master", even
though mine does not have "master" in the name. I have also tried
"chosing-strategy: 'default'", in case it was using the gerrit strategy
for some reason (like in [2]), and setting 'refspec:', but both did not
have any effect.

[1] https://jenkins.osmocom.org/jenkins/job/Osmocom_OBS_nightly/98/
[2] https://issues.jenkins-ci.org/browse/JENKINS-26981

Change-Id: I6d1f0e70d5c82ffd551d00ffdf2712cbfaec16cf
2019-05-23 13:08:19 +02:00
Harald Welte a72c87cba2 Add osmo-e1d to gerrit-verifications.yml
Change-Id: I78cfd6052aebbe8cfa215928906f18f8afe3c06a
2019-05-11 21:08:47 +02:00
Oliver Smith 3f9776c9eb OBS: add links to job description
Add the links that the obsolete Osmocom_nightly_packages job has, before
we remove it. Also link to the binary packages wiki page.

Change-Id: Idbc7ccd0156d9c3eb6d30059384686849a36f49f
2019-04-30 08:19:01 +00: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
Daniel Willmann aaa472a7a4 Add bscnat tests to jenkins
This requires Change-ID I800ebe0f33cf7c86eea65d2e186c6af12fee6db7 from
osmo-ttcn3-hacks.

Fixes: OS#3179
Change-Id: Idee5a986e4cda8db601982ac3f2662bc20fe3f5f
2019-03-28 17:31:30 +01:00
Daniel Willmann d0229770d8 ttcn3: Order tests by time triggered
We had some load issues with many things running at once on jenkins.
This will at least make it easier from having colliding ttcn3 jobs.

I also changed ttcn3-sip-test to run at 7:30 instead of 7:00 where
ttcn3-bts-test runs.

Change-Id: I65f346a3fae2811c8314c26d4a5b3a528b8101f9
2019-03-28 13:38:48 +01:00
Daniel Willmann 627bf3dd2f Avoid '/' in jenkins matrix labels
The script already deals with this for osmo-bts by using the
version_prefix variable

Change-Id: I3102fc607718ca42634273e24e6ff303dc28483f
2019-03-27 18:36:22 +01:00
Daniel Willmann 53fabad926 Also build oc2g support for osmo-pcu
Needs gerrit change I7cd89a549c9463e81893ca7dd925299f728e4453 in
osmo-pcu

Fixes: SYS#4524
Change-Id: Iebddf8d41538fe1e69435cda7f77bd49c4c14477
2019-03-27 18:36:20 +01:00
Oliver Smith d3d3eb0fb1 jobs: add osmocom-build-tags-against-master.yml
Run osmocom-build-old-tags-against-master.sh every night in jenkins.

Related: OS#3765
Change-Id: I9868a6008f61fb3962279f72d34f67f900425be5
2019-03-26 15:54:46 +01:00
Oliver Smith 60a4fb2062 jobs: add osmocom-list-commits.yml
Related: OS#3840
Change-Id: I9a65cb750bbe6c278b9f67eb70bdb36759cb775b
2019-03-20 11:41:28 +01:00
Harald Welte cb944d35f3 ttcn3-testsuites: Split ttcn3-pcu-test-sns from ttcn3-pcu-test
The SNS variant of the tests require the PCU to be started with
different config file.

Change-Id: I42785b68f136198152ad79072346faccfe4a9424
2019-03-14 21:56:21 +01:00
Harald Welte b1ec95f3c7 jenkins: Send build failures to jenkins-notifications mailing list
Change-Id: I5609a0f4b8f176ffa692db732abb4694acaaf927
2019-03-03 16:04:41 +01:00
Pau Espin d7a11ab977 jobs: osmo-gsm-tester: Add oc2g jobs
Change-Id: I5ea9b783a2a2017cb134e72087e217a4184184b2
2019-02-21 18:50:40 +01:00
Holger Hans Peter Freyther e197c12f81 jobs: Introduce a tester using "virtual" tests
With mobile, virtphy, osmo-bts-virtual we can run e2e tests without
the need of any hardware. Create a dedicated job for it. This avoids
having to share resources (e.g. lock state/ip allocations) with other
builds.

Change-Id: I19993b287cc948dbdfba9d375f80a7904f96ff4a
2019-02-21 16:04:55 +00:00
Harald Welte 38ce864f63 ttcn3-testsuites: Add PCU tests
Change-Id: Ifd8113c8db2b6e84d6e01539a6df031dc6f4ee80
Closes: OS#2890
2019-02-20 22:41:44 +01:00
Holger Hans Peter Freyther 28e7e9c44a Fix copy and paste in the script.
Change-Id: I51d01a8799f09ce7d813a0ef8353a4233d5c8bb5
2019-02-15 15:34:52 +00: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 7963507fdd gerrit-verifications: Add osmo-ccid-firmware
The repository currently doesn't yet have a contrib/jenkins.sh
script, so all verifications will fail.  This is intentional,
as it will force the addition of a related script in the first merged
commit.

Change-Id: I713d345240dec319ee07d99e9381fc1af6a2d86d
2019-02-04 14:43:39 +01:00
Oliver Smith 4ae4c5403d ttcn3: block latest jobs while master is running
Jenkins job builder does not support string replacing in variables,
so the only way to make each ttcn3-foo-test-latest job get blocked by
their ttcn3-foo-test counterpart was specifying them each time.

Related: OS#3767
Change-Id: I124286d4b996e79a7b77603c7b59473b016c3bd5
2019-01-28 15:03:47 +01:00
Oliver Smith 0c11075541 ttcn3-bsc-test-sccplite-latest: enable job
This job does not get stuck anymore since the latest Osmocom release.

Change-Id: Ie87aeb52832b4ce0fbec96d2cff9dd04da0c11fc
2019-01-28 14:48:25 +01:00
Harald Welte 292aa1c872 add osmo-asf4-dfu master and gerrit jobs
Change-Id: I5bc5ca30809af8d8b472a75a9e02c4964761de38
2019-01-13 13:43:09 +01:00