Commit Graph

322 Commits

Author SHA1 Message Date
Oliver Smith e1762acbc6 jobs: ttcn3-testsuites.yml for ttcn3/nplab jobs
New JJB config, that is able to generate all jobs in the TTCN3 tab at
Jenkins: <https://jenkins.osmocom.org/jenkins/view/TTCN3/>

The new *-latest jobs test against the latest stable releases. Existing
jobs are not overwritten (this is commented out).
ttcn3-bsc-test-sccplite-latest is disabled for now, because it hangs
forever.

Related: OS#3268
Change-Id: Ie433925ee81a61c5788b4a6f2bc5b89c2689d251
2018-10-22 16:35:04 +02:00
Harald Welte 24f2ef00b2 Add osmo-remsim to gerrit + master build verification
... which introduces a requirement for libcsv-dev in ansible.

Change-Id: I2ac65947ce9ecc071f774dc4df0f08c99c16c632
2018-10-15 02:06:22 +02:00
Oliver Smith 6a38a191be README.adoc: use 'my_api_token' as example pass
This makes it easier to recognize that users should paste an API token
there, not their password.

Change-Id: I203c25b6638e36d3f050223dd40e56b7c4a92a12
2018-10-10 15:38:13 +02:00
Pau Espin 52fb2808d6 ansible: Install liblimesuite-dev and setup limesdr rights in gsm-tester
Change-Id: I7fafae340221cac63e33bccabcce6fd8f4385514
2018-10-09 14:03:26 +02:00
Pau Espin 2958d13e2b osmocom-latest-packages.sh: Refactor to support building limesuite
This way the latest script is a lot more similar to the nightly one, and
easier to maintain and expand with new features.

checkout and build steps are split because once we have a new
osmo-trx release, we'll need the create_osmo_trx_debian8_jessie trick to
build it.

In the future we can do further steps to have a common function lib
between latest and nightly scripts.

Change-Id: I786c6f4ad4b4e43d1692c1588d2ad2194d0b25a4
2018-10-05 12:05:10 +02:00
Pau Espin 59f131cc44 osmocom-nightly-packages.sh: Build against newest limesuite release v18.10.0
Change-Id: I4e3a3d3ac4422cbf9c4e8c8bda3d3f7b27be1a14
2018-10-04 17:59:37 +02:00
Oliver Smith 6cced05c01 osmo-depcheck: don't use /tmp, better git code
* replace --gitdir with --workdir and give it a new folder structure:
  * git/$repo: downloaded source code
  * build/$repo: files created during the build process
  * install/: installation prefix
* adjust the jenkins job to use --workdir
* fetch --tags when source exists already
* readable error message for failed git checkout

Change-Id: I06589277b9d54a2af177451cfab2ca1a658b4058
Relates: OS#2642
2018-09-25 09:59:05 +00:00
Pau Espin 8768ad510a jobs: osmo-gsm-tester_run-gerrit: Update suites selected for verification
Recently in osmo-gsm-tester some suite names were changed to have better
unified naming. As a result, some of the suites used here need to
updated.

Change-Id: Iafe865ab5f607fc8acfcb3f72ebe4b0ef0f1322a
2018-09-25 08:04:18 +00:00
Pau Espin 050e29a3b0 jobs: osmo-gsm-tester: Copy osmocom-bb build artifact
This artifact is not needed nowadays to run current tests in those jobs,
since it is only used in osmo-gsm-tester_ttcn3, but it will eventually
be used once we support virtphy and/or motorola phones in usual tests,
and also because it's easier for developers to download full .tar.gz
with all at once instead of having to download osmocom-bb one separately
whn whilling to run ttcn3 testsuite locally.

Change-Id: I9fe41e2c7d9c38796ce16f2f279792bc5151b498
2018-09-25 08:04:18 +00:00
Pau Espin 4b5ab29bd1 jobs: osmo-gsm-tester: Add osmo-iuh builds
Change-Id: I7b8f51597287e7673f79c65eae2508b074151781
2018-09-25 08:04:18 +00:00
Oliver Smith 85c2effd89 osmo-depcheck: script to verify PKG_CHECK_MODULES
This script verifies that Osomcom programs really build with the
dependency versions they claim to support in configure.ac. In order to
do that, it clones the dependency repositories if they don't exist
already, and checks out the minimum version tag. This happens
recursively for their dependencies as well. See 'osmo-depcheck.py -h'
for the full usage instructions.

There's also a new jenkins job in jobs/osmocom-depcheck.yml.

Change-Id: I8f495dbe030775f66ac125e60ded95c5d7660b65
Relates: OS#2642
2018-09-20 16:28:00 +02:00
Oliver Smith 7fab6f5412 gitignore: add __pycache__
The osmo-depcheck script consists of multiple Python files. Python
creates a __pycache__ folder, so let's make sure that does not get
added by accident into the git repository.

Related: OS#2642
Change-Id: Ic8fb08fec1629846fc0712d6bc0b6288fbba7dc9
2018-09-20 08:11:47 +00:00
Oliver Smith 999e449501 osmocom-debian-install.yml: new jenkins jobs
Installs most packages from the Osmocom Debian repository into a plain
debian:stretch container and call the osmo-* binaries with --version
(or -h).

Two jobs, one for nightly and one for latest.

Change-Id: Idbb43ed737e164f8cf3a0e085ed54e4c6a2d14bc
Related: OS#3176
2018-09-20 08:10:49 +00:00
Alexander Couzens 3e50c20188 coverity: don't install systemd file
Because the systemd install directory does not use --prefix as
base, they are installed by default to /lib/systemd.
As the coverity only scans the compilation, don't install systemd files.

Change-Id: I39b491fc09f0db0efd8d9d09e8f4cba4ba49cdde
2018-09-19 00:36:58 +02:00
Alexander Couzens 69d4aef8d7 jobs/coverity: only build the master branch
Otherwise the last modified branch will be build.

Change-Id: I0b68ebae025e0dc9dbfd22b97731b59be30e7823
2018-09-18 14:29:20 +02:00
Pau Espin 08b81bf085 osmo-build-dep.sh: Let autotools install systemd services to correct path
Change-Id: I9eba05995fc53b72b04a4a9d63ebd5a236304f7c
2018-09-10 16:06:33 +02:00
Holger Hans Peter Freyther c52d3505f8 OsmocomBB: Add lua5.3 for the scriping interface
Change-Id: Ia3bd58b98d1e248a92ddd171fb16a23ca8e0b29d
2018-08-30 15:09:54 +00:00
Pau Espin fa24bc77ef ansible: osmocom_build_deps: Add cmake
cmake is required to build LimeSuite, and its not currently installed in
the build slave.

Change-Id: I1808a2394798cd11a0bee8f664c7d18fa71cd5b8
2018-08-27 19:33:12 +02:00
Pau Espin e0c094ddb4 ansible: gsm-tester: Add extra IP for LimeSDR
Change-Id: Ic0fddfc0eaf884cdd5436139675a5a19fafa96b9
2018-08-27 19:25:34 +02:00
Harald Welte 4f30778d08 osmocom-latest-packages: Add simtrace2
Change-Id: I9e6b01f465470f77c58268979d3608afe2005b1c
2018-08-26 10:46:05 +02:00
Harald Welte 4c7321bba3 nightly packages: add simtrace2
Change-Id: Idab162dd11c631d5e72f09b08ed04610e16f05a9
2018-08-26 10:36:04 +02:00
Alexander Couzens 7dd082959a jobs/master-builds: introduce variable git_base_url to allow other domains than git.osmocom.org
Change-Id: Ia37b5f761c47411ac7eab092f3437acecc492f22
2018-08-14 13:25:07 +00:00
Alexander Couzens 6742a83b96 jobs/master-builds: add repo sysmo-usim-tool
Change-Id: I0e4fec571c3c373000c755cfdb5e56dc09d17413
2018-08-14 13:23:51 +00:00
Alexander Couzens c74c64d726 obs-nightly: introduce osmo-trx-debian8-jessie
A compatible package for debian8 as it does not support limesdr.
This patch depend on: I261302d2ed16e76540073589504e7426e23d00a1

Change-Id: I8477b580976b376ee5abdde98a651d47199ef6d9
2018-08-10 00:43:58 +00:00
Harald Welte 2812b99810 osmo-gsm-tester: Add OSMO_GSM_TESTER_BUILD_osmo_hlr parameter
For some reason almost all projects allow to permit building a
specific non-master branch, only osmo-hlr was missing that parameter.
Untested.

Change-Id: Ia4199aa5cfd1f39d34ed7c6104881c68d00dcffa
2018-08-08 08:29:13 +02:00
Harald Welte b67c04b3ec osmocom-latest-packages: Fix libusrp and other non-osmocom builds
We're using the build() function not only to build osmocom projects
requiring a .tarball-version file, but also other projects such as
libusrp.  Let's make the related git-buildpackage arguments conditional
to whether or not a .tarball-version file exists at all.

Change-Id: I0683cff036a240b1b819f91fbd230d5f9211074c
2018-08-08 08:29:13 +02:00
Harald Welte af55468721 coverity: Re-order builds to ensure osmo-hlr before osmo-msc
osmo-msc now needs libosmo-gsup-client, which is built+installed
as part of osmo-hlr

Change-Id: I581d86cf9679ef978a018a5ba8deb8b0f034677b
2018-08-08 07:55:28 +02:00
Harald Welte 447521ba8b osmocom-nightly-packages: Fix libusrp and other non-osmocom builds
We're using the build() function not only to build osmocom projects
requiring a .tarball-version file, but also other projects such as
libusrp.  Let's make the related git-buildpackage arguments conditional
to whether or not a .tarball-version file exists at all.

Change-Id: I0312a6671e739b803beb583769e4dfc6f44fa091
2018-08-06 17:47:21 +02:00
Harald Welte 4e3c888398 osmocom-nightly-packages: Fix build of limesuite
We add a bogus .tarball-version file to make limesuite look like
osmocom projects.

Change-Id: Idbe34df54743d346cf4194d6ea377e886132042d
2018-08-06 14:17:56 +02:00
Harald Welte d8084ff514 osmocom-latest-packages: Add .tar.xz for new packages
If a new package is uploaded to OBS, prior to this change,
only the .dsc file is uploaded, not the actual .tar.xz containing
the source code.  Let's fix that.

Change-Id: Id1c9e6d112781004238a516b24dd446af0beb95a
2018-08-06 13:31:06 +02:00
Harald Welte aef62b0c77 osmocom packages: Ensure PACKAGE_VERSION is set correctly
At the "autorecon -fi" stage, Osmocom programs either need the .git
directory peresent, or a .tarball-version file in order to determine
the exact source code version.

Normally, "make dist" exists exactly for this purpose: It runs
git-version-gen and saves the result to .tarball-version, and we then
include this file in the .tar.gz we generate.

However, as the nightly paackaging scripts use git-buildpackage, it
bypasses the "make dist" logic and hence we need to

1) manually generate the .tarball-version file
2) copy it over to the directory specified as --git-export-dir

This way, the .tarball-version is inside the tar.xz generated by gbp,
and autoreconf then has something to use as PACKAGE_VERSION.

This commit fixes "UNKNOWN-dirty" in .pc files of libraries, as well
as in "show version" commands on the vty.

Closes: OS#3449
Change-Id: I76e3713f0b01a6110091ff90e8e53aa79533c374
2018-08-06 12:02:00 +02:00
Pau Espin eb844d933a ansible: osmo-gsm-tester-prod: Add DHCP lease for secondary muliTRX nanobts
Change-Id: I3967d7b4203f5361dc03074dcd82c870d60c8aac
2018-07-26 18:15:29 +02:00
Alexander Couzens 92de527e47 jobs: add gerrit verification for pysim
pysim will be tested on the simtester which has real hardware.

Change-Id: I180cc4a83a41f3ef2e4b1e316ea0371cc83be654
2018-07-25 18:52:26 +00:00
Pau Espin 4aa523ae87 jobs: osmo-gsm-tester-builder: Fix typo in job parameter name
osmo-mgw is duplicated and osmo-bsc is not there.

Change-Id: Ib0ab7f8796b8b78d5f21b7a4f541fd3ddffc95a4
2018-07-25 08:52:01 +00:00
Alexander Couzens c1c9052f11 ansible: add playbook setup-simtest
Change-Id: Iab74a2b3fc3148bce815b2dadd1fd683c4b64c44
2018-07-19 23:04:24 +02:00
Alexander Couzens d2cacbd784 ansible: osmocom-jenkins-slave: add var install_jenkins_utilities
To select if some utilities including qemu/debootstrap/fakeroot will be installed.
Usefull for small setups e.g. simtester

Change-Id: I72f4460b8550da191e74a44be0ee3eeb3b2d7769
2018-07-19 23:04:24 +02:00
Alexander Couzens 6330cf1d98 ansible: osmocom-jenkins-slave: debian.yml: don't install recommends
Pulls a lot of packages

Change-Id: I894455ea779ece84c403f768a1260a1cf2528389
2018-07-19 23:04:24 +02:00
Alexander Couzens 5f555dbb40 ansible: osmocom-jenkins-slave: move installing build + runtime deps into own file
For small nodes (e.g. simtester) the full blown packages are not required nor supported.
In this case only the jenkins user and the ssh keys will be setted up.

Change-Id: I469a8012b124516bfd9c4d4dd3a3fe0e1ff80bb6
2018-07-19 23:04:24 +02:00
Alexander Couzens 98c2d50040 ansible: osmocom-jenkins-slave: add variables to the README.md
Change-Id: I878ed30ee2f44d98635511011c17f0f0e986bcc9
2018-07-19 21:00:41 +00:00
Neels Hofmeyr e83f8a4737 scripts/verify_log_statements.py: on parse error, print file
If string eval encounters an uncovered parse error, it's useful to know which
file it happened in.

Change-Id: I5fe9a3bbdbfb8a995f24596bf09e70ca5bb3fe8a
2018-07-19 20:13:09 +02:00
Neels Hofmeyr 6475204b4c scripts/verify_log_statements.py: strip OSMO_STRINGIFY()
Change-Id: I439ee65cd65cf42e1005ca71aa7d4b680b18c0e5
2018-07-19 20:11:51 +02:00
Neels Hofmeyr 7ae9791c59 scripts/verify_log_statements.py: figure out line numbers
Change-Id: Ib75c8f5a99ed556d85896b7f8c65fb9446a2fbce
2018-07-19 19:48:26 +02:00
Neels Hofmeyr 16515ddc78 scripts/verify_log_statements.py: fix regex
Would miss those where the fmt string starts on a new line.

Change-Id: If61a36a014a799b94030e5e08a50dfef4207a8a2
2018-07-19 19:47:07 +02:00
Neels Hofmeyr 7eec2dab31 add scripts/verify_log_statements.py
This came up in
https://gerrit.osmocom.org/#/c/osmo-bsc/+/9671/6//COMMIT_MSG@36

The errors it finds in the current code base are numerous, and many are
intended LOGP .. LOGPC calls. It doesn't make sense to enforce this, but so far
this can be used manually.

Change-Id: Id79389f090a2fded7ff01dc7e3fe9774e7f22ca0
2018-07-16 19:53:29 +02:00
Neels Hofmeyr 1bfa6c7b62 jobs: master-builds: simtrace2: pass '--publish'
Kevin would like to upload simtrace firmware to ftp.osmocom.org from master
builds. To facilitate, add '--publish' arg, like in master-osmo-gsm-manuals (to
distinguish and not upload from gerrit verification jobs).

Change-Id: I93435aa6f39e9a072754011ae7696b10315f6092
2018-07-10 16:56:40 +02:00
Neels Hofmeyr 34b5767e5a jobs: gerrit: use debian-9
This is the same as done for the master builds in
I6f025c642d5ae57cdda9d7b34bbaeb82ca119354,
seems I forgot to follow up with this one.

Change-Id: I9204ca2f083c8a6a04c6c0fc7d51752a4f1a4830
2018-07-05 06:56:49 +00:00
Neels Hofmeyr ec6aa1593f verify_value_string_arrays_are_terminated.py: allow dir args and no args
So far we call with a $(find . -name "*.[hc]") argument list, which might
become too long at some point. Rather include dir walking in the script itself
and allow passing dir arguments as well.

This is backwards compatible, calling with above file args still works.

Change-Id: I36456383906b6295c798b82aa131dda21f8efc02
2018-07-05 06:56:49 +00:00
Harald Welte 6866852c37 jobs: add master+gerrit verification job for gapk
Change-Id: Iedf3b43c164ae7e3e653820284c4d4ddaa545784
2018-07-03 15:24:25 +00:00
Daniel Willmann 68a838c435 Restrict where the parent build runs for osmo-gsm-manuals
This seems to resolve the issue where the jenkins job fails due to
missing ssh credentials.

Other jobs can also use this by setting the node property

Change-Id: I23cf2c98f02278a5deb9c4ae8d13438b76538287
Ticket: OS#3338
2018-07-03 05:59:30 +00:00
Pau Espin f82bc2a1c9 ansible: gsm-tester: Add IP addr for osmo-bts-octphy to bind to
Change-Id: I708960790e330a24c653f162b767d3b3ca4d145d
2018-07-02 17:08:06 +00:00