Commit Graph

483 Commits

Author SHA1 Message Date
Holger Hans Peter Freyther 4f5c162c6d python: Add pyflakes for some static analysis
Be able to run pyflakes as part of the CI process.

Change-Id: I59e6673df5b8d915dee1f745169fc5d0426c6aed
2019-03-05 06:35:52 +00: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 51a13b7882 docker: Add lua-socket for the OsmocomBB<->GSM Tester communication
Change-Id: I9156c63c64dd32a91136240913baa7e4a5cdc893
2019-02-20 08:14:39 +00:00
Holger Hans Peter Freyther f8a085347a docker: Use the same Dockerfile for jessie and stretch
The binaries built on the Jenkins to be used by the osmo-gsm-tester
require libgnutls.so.30. This is provided by the libgnutls30 package
which is not available on jessie (Debian 8) and a backport requires
some effort.

Re-use the existing Dockerfile for jessie and stretch (Debian 9) using
an argument. Refactor the shell script to pass the right argument. Add
the debian version into the tag name to make space for buster (Debian
10).

Change-Id: I44c8e49a548cb64defd2eba868ec4bd435de90ba
2019-02-19 05:06:38 +00:00
Holger Hans Peter Freyther a6d9db32c1 docker: Remove unused files to remove the clutter
We have been updating some of these files besides no container being
built or used from them. Let's clean this up by removing them.

Change-Id: I7c5b559975e5f9a50368a5bb5bd961bdb9f85270
2019-02-19 05:06:38 +00:00
Holger Hans Peter Freyther 707ebb1b0a docker: Set language environment to UTF-8 (and en_US)
The osmo-gsm-tester requires a UTF-8 locale to generate the log
messages. Most of our users will have a UTF-8 and it seems okay
to change the default from C to en_US.UTF-8.

Change-Id: I79082a57fd5c9122dbd66997dd48e3ed3e89acb9
2019-02-18 14:29:15 +00:00
Holger Hans Peter Freyther 92f5198df4 docker: Add missing gsm-tester dependency
Add one more dependency and its dependency for the osmo-gsm-tester
(a separate patch is coming to update the docs).

Change-Id: Icd6a93a8a91c5443b310fdd2123183a8059d31d1
2019-02-18 14:28:27 +00:00
Holger Hans Peter Freyther 02e90c90eb docker: Add dependencies needed for the gsm tester as well
This way we can execute the tester with a virtual environment.

Change-Id: I1e6432d77442f590453a328023c9f09cd52787a8
2019-02-18 08:57:31 +00: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
Harald Welte 225dbeefe1 osmocom-jenkins-slave: Deploy osmo-ci and build docker images
This is periodically performed by https://jenkins.osmocom.org/jenkins/job/update-osmo-ci-on-slaves
but in order to get to the point of updating it, we must at least
have done one initial deployment of the repository before.  This is
done by the takss in the new osmo-ci.yml

Closes: OS#3773
Change-Id: I581b8713cfdb3ca2ef7f0925730974056981e448
2019-01-31 20:27:50 +01:00
Harald Welte d2300f83b1 ansible/install-poky-sdk: Use "-y" command line argument
At least with current ansible, this patch is required to avoid
the poky SDK installer waiting indefinitely to somebody answering
his prompts on stdin.

Change-Id: I084a5a152f00bbd484f5616d417fa1486cb79413
2019-01-29 22:53:44 +01:00
Max 844f25dfbf Add liboping dependency for osmo-sysmon
Related: SYS#2655
Change-Id: I6198cd14ff86c5d8203d57674a17aa388f21c19d
2019-01-29 12:35:26 +00: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 2dfb2c6fa1 osmocom-*-packages: clone via https:// not via unencrypted git://
Change-Id: Ibfb52cbac93451ba402edb6b59350620954b0d81
2019-01-26 18:29:01 +01:00
Harald Welte 65353904bc latest-packages: Add libosmo-dsp
Now that libosmo-dsp has a 0.4.0 tag that includes debian packaging
information, we can add it to the latest feed.

Change-Id: Ic082a4ad6b8582dfe44df5bdaafa525e52da7246
2019-01-26 18:29:01 +01:00
Harald Welte 789c5a9c3f nightly packages: Build libosmo-dsp
Change-Id: I989c7961336b4dacbc83e97d1c098f93f56ef6ab
2019-01-17 17:55:10 +01:00
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
Harald Welte 326221b87c ansible: Install 'sdcc' compiler for libusrp firmware on build slaves
Change-Id: I2fa8fa1a195079a0d8beda6a0aa4fc090ca37970
2019-01-11 18:54:12 +01:00
Holger Hans Peter Freyther c184523221 gsm_tester: Add lua-socket dependency used by the scripts
Change-Id: Iea51362a592c5b42413cb6d72677d01a0e357555
2018-12-28 14:54:19 +00:00
Holger Hans Peter Freyther 7af1fef220 gsm-tester: Install liblua5.3-dev as mobile dependency
Change-Id: I188361cceacde60b9b0b954549d63a34ba81646a
2018-12-28 13:48:24 +00:00
Holger Hans Peter Freyther 245ddd1cec Reserve an ip address for the osmo-bts-virtual
Change-Id: Ia3b52d6fc66efc032b7de4769ad603da177e13da
2018-12-13 09:40:03 +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 298747c735 jobs/ttcn3-testsuites.yml: add build-discarder
Add the same build discarder as we have in master-builds.yml. This
should help with the disk space problems.

Change-Id: Ib7f01751ca5f6fb3e29a436982e2891d9cab0488
2018-12-05 16:50:58 +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 03d5f4c71c cosmetic: gerrit-verifications: format docker cmd
Format the docker command lines just like they are formatted in
master-builds.yml. Most notably, this puts every environment variable on
its own line. This makes it much easier to compare both files side by
side.

Change-Id: I0adcb028be24c2e05189c15b85811777d6287387
2018-11-30 15:15:16 +01: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
Oliver Smith 0b978d5afe Dockerfile: add dependencies for osmo-gsm-manuals
Install all dependencies required for building PDF manuals inside the
Docker container, so we can build projects with their manuals in the
Gerrit build verification job.

I ran the Docker container locally to confirm that this works, as
described here:
https://osmocom.org/projects/osmocom-servers/wiki/Jenkins_build_verification_jobs

Related: OS#3385
Change-Id: I379ce02857353c097f79cf91af2c4c9dc14754ec
2018-11-29 14:23:07 +00: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
Max 4778fc0323 Add osmo-sysmon to default depcheck config
Change-Id: Ie57d0d55459d492e18b56496c9018a5f8619813a
2018-11-22 14:24:24 +01:00
Max bdd3713beb Add osmo-sysmon to coverity submission
Change-Id: I1e753d2c14198eccb046c259b3eec582b1921431
2018-11-22 14:21:47 +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
Holger Hans Peter Freyther 8f33ecf33b ansible: Wrap distro version number as string for ansible
Change-Id: I58591ee37c6ec1479778c3f90ed8004a7e2adf1e
2018-11-09 02:00:47 +00:00
Pau Espin 0c8e950e86 ansible: gsm-tester: Support power cycling multiple quad modems
uhubctl doesn't support acting on several hubs from same vendor at once.

Change-Id: I01e698c96240130ed6f632f82383f6020d2a3b81
2018-11-07 10:23:42 +00:00
Pau Espin da939e6cdf ansible: gsm-tester: prod has now 8 modems attached
4 EC20 modems were attached,  and the issue with only 3 out of the 4
showing up was fixed a while ago.

Change-Id: I0e0876fd5581e9eb56c498078ae8cd8c68ede5b5
2018-11-07 10:23:42 +00:00
Pau Espin 6691cf4dbb ansible: gsm-tester: Add IP addr for umtrx
Change-Id: I7fb65e3c337fc82c787e925fbbdf9eaf7569defd
2018-11-07 10:23:42 +00:00
Oliver Smith b348a83b2f ttcn3-testsuites: collect artifacts again
Collect build artifacts just like the manually created jobs did it.

Related: OS#3681
Change-Id: I5b0f5de87125374c9a48d0a47e6a4e655d7ed3bb
2018-11-06 19:23:32 +00:00
Holger Hans Peter Freyther 7e5e3ece47 misc: Install patchelf to add/set an rpath if wanted
Change-Id: I6e4ad2e3855af7bcefc22d4190cc4e6f58581857
2018-11-06 13:14:05 +00:00