Commit Graph

705 Commits

Author SHA1 Message Date
Daniel Willmann 5806d0a63f jjb: Add ttcn3-gbproxy-test to ttcn3-testsuites.yml
Fixes: OS#4850
Change-Id: I05d1855a6daea6a67df01a1f9fa65955cfd72661
2020-11-05 18:54:37 +01:00
Harald Welte 262f164fb2 Add jenkins job to update docker base images on registry.osmocom.org
Change-Id: Iec2d2e3a43b074cb60f75cbe852351ffa8e0009e
Related: OS#4839
2020-11-04 19:30:57 +00:00
Harald Welte 7685f9c349 ttcn3-testsuites: Set REGISTRY_HOST="registry.osmocom.org"
This will make the Dockerfiles from docker-playground.git
use registry.osmocom.org rather than the public docker.io for base
distribution images like debian:stretch or the like.

This will avoid any strange timeout/EOF problems while doing
docker build --pull in our test jobs.

Change-Id: If4275cf3c8a5b70a67d742950a35ae8ead59a52e
Closes: OS#4839
2020-11-02 16:57:06 +00:00
Harald Welte 7d83ceb25c README.md: Fixup ansible command line for docker login
We need to do a docker log in as 'osmocom-build' user, not as 'root'

Related: OS#4839
Change-Id: I8ea0338e49d332382c9d08b21ee247244f97d141
2020-11-02 17:54:05 +01:00
Harald Welte a01babb6e1 README.md: Add instructions on how to make jenkins slaves 'log in' private docker registry
Change-Id: Ibf7e8c6ef2b3efd5a0a193501de90797e2d6f080
2020-11-02 17:17:57 +01:00
Harald Welte 3d3a9c1651 ttcn3-slave.yml: don't hard-code amd64 as the dpkg architecture
We have no clue what the host architecture will be...

Change-Id: I32c0905c8e077faa02984ea67c452fcdb81440da
2020-11-02 17:08:48 +01:00
Pau Espin 57a38c7daf jjb: obs: Trigger jobs at sme point during 00H instead of 01H
There's no real need to wait until 01:00, let's try to get packages
built before.

Change-Id: I9db7108ecaab418f9b657d30c02622c56dc04798
2020-10-22 06:11:42 +00:00
Pau Espin c5ebc06b74 jjb: ttcn3-testsuites: Spread all test grouped around the day
Before this patch, only the debian+master jobs were spread around
several hours, while debian+latest and centos+nightly were all triggered
at midnight.
Let's instead run all flavours of teh same test (debian+nightly/latest,
centos) around same time but not concurrently by marking blocking one
each other so that they are run one after the other. Then, each group is
separated by a given time spreading the load over the night + morning.

This also means we no longer start tests at 00:00, which means docker
images will use software from the day after, since the nightly
repositories are built around 01:00.

Related: SYS#5121
Change-Id: Ib1f374974444cdd5d829c4e57153137ecd9149f1
2020-10-22 06:11:42 +00:00
Harald Welte 2d79de0913 osmocom-nightly-packages: Build osmo-smlc
Change-Id: Ibaa87a23659de82bb9ad9767e7fa01331e40d2e9
2020-10-21 18:52:14 +00:00
Neels Hofmeyr 2dc35de85b jenkins: add osmo-smlc to coverity and ttcn3 jobs
Change-Id: I690962cd8352e255a2bf0ae16aa8ddda68edf10a
2020-10-21 00:55:59 +02:00
Pau Espin fc1edb3ea4 build-old-tags-against-master: Ignore some osmo-bts and openbsc versions
Some unit tests in those repositories started failing due to a fix in
libosmocore logging system where extra coloring tags were printed when not
needed.

Unit tests in current master of those repositories are fixed to work with
both old and new versions of libosmocore since they got coloring disabled
in their output, and new patch releases have been done containing the
fix, which means last releases already work with both libosmocore
version. However, older releases are expected to fail when built against
libosmocore master.

Change-Id: I03ca926b903a4dcc9967ab5fe455d715cdb9ed45
2020-09-23 13:33:09 +02:00
Pau Espin cf17475839 jobs: Enable --without-sse build variant for osmo-trx
Change-Id: I47a2067dc25335557dfa93f291f6ca9cd4959735
2020-09-18 21:15:10 +02:00
Alexander Couzens b12f989f86 ansible: osmocom-jenkins-slave: install SRS packages only on debian >= 9
Before debian 9 those packages aren't available. e.g. libczmq-dev or libsoapysdr-dev

Change-Id: I019ec01dc7e0a53fa4ce9e8579fbafb3916f559b
2020-08-31 15:57:56 +00:00
Harald Welte 53e344d574 jenkins: add master + gerrit for osmo-smlc
Change-Id: Iaeb064ed8e7d08db305f1928dc26d16dc6c889dd
2020-08-21 20:17:49 +02:00
Alexander Couzens 1a72d50548 ansible: osmocom-jenkins-slave: osmocom_build_deps: install osmo-python-tests for py2 and py3
The osmo-python-tests will be used to test vty commands.
The old python2 package are only required to test old images because
the current master is only supporting python3.
Installing both doesn't conflict because the python site-packages are
different for the two version.

Change-Id: Ica279e83b763389ababb526336ebd95d45beee7a
2020-08-14 16:31:27 +02:00
Harald Welte 7a7c38e78e old-tags-against-master: Don't build osmo-gsgsn 1.6.0+1.6.1
both tags will not build due to osmo_sockaddr name collisions.

Change-Id: Ifd3c0d30897d4d0286fa129f5c17b495a8f2323b
2020-08-14 11:56:52 +02:00
Harald Welte f95275f0eb osmocom-latest-packages: Remove limesuite-debian10
Since LimeSuite v20.07.x has been released, we don't need a debian10
specific package anymore.

Change-Id: Ibc1337e2500fc37c47a283141fad58a2fb321f05
2020-08-09 13:03:34 +02:00
Harald Welte 1d5d879be0 Revert "nightly-packages: Hard-code LimeSuite to 20.01.0 as 20.07.0 is broken"
This reverts commit e17a4d66d0, i.e.
we are back to building the latest tag, now that v20.07.1 has been
released, which actually builds again.

However, the package name in debian/changelog has not been updated to
reflect that version change, resulting in v20.07.1 being packaged
in a package called v20.07.0.

Change-Id: I01b77f03924a0b303103fb737dfee15b9c4b0c9c
2020-08-05 11:48:25 +02:00
Alexander Couzens 523aa0874e ansible/docker: set overlayfs2 and ipv6
overlayfs2 should be the default anyway. Enable it on all hosts,
since it was enabled on older hosts.

Change-Id: I20728d6017204c3978e23376baa89de6e91fed1e
2020-08-03 01:12:43 +00:00
Harald Welte e17a4d66d0 nightly-packages: Hard-code LimeSuite to 20.01.0 as 20.07.0 is broken
See https://github.com/myriadrf/LimeSuite/issues/313

This also reverts the previous commits that removed the work-around for
building LimeSuite on Debian10, as that one is still required for
v20.01.0 (and not for v20.07.0).

Change-Id: Ib70418f0b8a4c6aafa3098b6fa3e240f89112b59
2020-07-30 11:07:12 +02:00
Harald Welte 5fa739dc40 obs-nightly: Remove limesuite-debian10 package altogether
20.07 builds unmodified on debian10

Change-Id: I24f95efe55e3c88c07e3f313a11d706d6947b4ab
2020-07-30 09:30:06 +02:00
Harald Welte 76d9db0785 remove limesuite/build-for-debian10.patch
As of yesterday (upstream commit fdfe3d340506a7de4f41d74296e1f32a906700f2),
LimeSuite upstream finally builds without patches on Debian 10

Change-Id: Ibbed53f57ac750f39ea20ac73c28c4773c244a6f
2020-07-30 09:16:10 +02:00
Harald Welte e969f7f8a4 latest-packages: build osmo-e1d
Change-Id: Ib74832bff1ce6856ada126c54f5f66c510034af4
2020-07-01 10:50:25 +02:00
Harald Welte ac1769865d nightly-packages: Add osmo-e1d
Change-Id: I71630d9f99e3fe703fc90ce14f3f0c3a82282a0d
2020-06-30 21:58:44 +02:00
Pau Espin d276db78af ansible/gsm-tester: Install patchelf 0.11 on PATH
We used to install patchelf 0.10 in a specific path to only use it for
some binaries which had bugs with patchelf 0.9 (and other binaries had
bugs with 0.10, so we couldn't use 0.10 for all binaries and hence put
it in binary).

However, 0.11 is fixing both issues so we can use it in all cases, hence
we can put it in PATH (/usr/local/bin).

Related: OS#4389
Change-Id: Ica30807ecab7b60daee31fe7824b7c848d20c904
2020-06-25 19:30:11 +02:00
Pau Espin 2fa9daba67 jobs: osmo-gsm-tester: Run mass LU and ttcn3 BTS tests nightly
Before they were executed almost in a loop, so let's simply run them
once per day.

Change-Id: Ie42fc1e686d29740e14aaacd69659fe09e66801a
2020-06-09 14:26:38 +02:00
Pau Espin d30d252bf4 jobs: osmo-gsm-tester_ttcn3: Fix path to jenkins script
There was a directry refactoring a few weeks ago in osmo-gsm-tester and
this path was not updated correctly.

Change-Id: I580cd9d4a602b3ed1839fb0990ac3816c5e42cbe
2020-06-09 14:10:46 +02:00
Harald Welte cf8711ed9a remove openbsc from nightly and latest builds
The only part that we haven't migrated elsewhere is osmo-bsc_nat,
which is also really unmaintained at this point.  Let's not confuse
people into thinking they should actually use this software anymore.

Change-Id: Icee165422a52bfe04be103a5b7ebb5c8909c0321
2020-06-03 20:50:34 +02:00
Oliver Smith e49412c8a9 jobs/ttcn3-testsuites.yml: support centos8
Related: OS#4564
Change-Id: I195437ffe8a8b6cb54de867d6f809c71e8f47ef1
2020-05-30 09:33:17 +02:00
Oliver Smith e683e3eb8a scripts: source common.sh before cd
common.sh tries to set OSMO_CI_DIR now; however this does not work when
common.sh was sourced with ". ./common.sh":

	realpath: scripts/..: No such file or directory

Fixes: 7cb8e2d0 ("OBS: add debian10 specific patch for limesuite")
Related: https://jenkins.osmocom.org/jenkins/job/Osmocom-build-tags-against-master/455/console
Change-Id: Ib326eb0fa769528398335c9cf06dc9c9576c882e
2020-05-28 10:14:58 +00:00
Oliver Smith 504f23d82f jobs/osmocom-obs.yml: create Osmocom_OBS_next job
Change-Id: I50dca459d19dca5894b71169ae70a6c6778b2e52
2020-05-28 10:01:23 +00:00
Oliver Smith 799d936cc6 OBS: add osmocom-next-packages.sh
Fill the "next" feed with source packages generated from the "next"
branch of each Osmocom project, if it exists, with fallback to the
"master" branch. Implement as wrapper around osmocom-nightly-packages.sh,
so we don't duplicate code and don't need to add more logic to the jenkins
job.

Adjust all osmo_obs_prepare_conflict calls. Add a comment line on top of
each osmocom-*-packages.sh script stating the feed they can be used with.

Related: SYS#4887
Change-Id: I0542b6243bdd29d08381fcc82368dcbd30bf9dce
2020-05-28 10:01:23 +00:00
Oliver Smith 79b63d35a2 OBS: support more than one conflicting package
For the upcoming network:osmocom:next repository, it would be
inconsistent to have the debian package conflict mechanism only support
latest and nightly, even if the next repository is currently not built
for debian.

Change-Id: I2c07313fbbdffe5571e447059b08fe74c853cef0
2020-05-28 10:01:23 +00:00
Oliver Smith 1d0b144ad4 repo-install-test: update jenkins job
Rename osmocom-debian-install.yml to repo-install-test.yml to get debian
out of the name. Extend it with a new distro parameter and update the
description. Adjust the shell section to run the script from its new
location (in osmo-ci.git, not docker-playground.git). Turn it into a
matrix job, so we can have two parameters (distro, feed) for each job.

Related: OS#4563
Change-Id: I777098f19d75f7efbd68b837ccdcd83309429c39
2020-05-28 09:53:22 +00:00
Oliver Smith 8a65d0efd2 repo-install-test: don't mount /data
The "run-inside-docker.sh" script is running as root (in order to be
able to install packages). Do not mount an outside directory as /data
inside the image anymore, where the script would write temporary data.
This causes problems on jenkins, as the temporary files are written as
root and jenkins is then unable to wipe the workspace.

I had used this for debugging when I wrote the script initially, but
almost the same can be done now with INTERACTIVE=1 and cat on the
temporary files.

Related: OS#4563
Change-Id: If7e1d83580c2951e7e50181ba7e755b987675e4b
2020-05-28 09:53:22 +00:00
Oliver Smith 6b3980d05f repo-install-test: support centos
Related: OS#4563
Depends: I50743c304728444ede8e0d40b8abef9d17c44d8d (docker-playground)
Change-Id: I399360ee6389591180859b52f0ef08883447b90b
2020-05-28 09:53:22 +00:00
Oliver Smith ee7d5314fb repo-install-test: add KEEP_CACHE env var
Keep downloaded binary packages to make test cycles shorter during
development. While at it, also document all environment variables.

Change-Id: I4d6ebaf460e47f29e023acb0bd78ef52ca80c7cd
2020-05-28 09:53:22 +00:00
Oliver Smith 118915fba7 repo-install-test: use sh -ex
Make it consistent with run-inside-docker.sh by also using -e and -x.
This makes development easier.

Change-Id: I733164829bf076fb42df3fde725f3e330f8abecc
2020-05-28 09:53:22 +00:00
Oliver Smith 29d77413c0 repo-install-test: docker: add --tmpfs /run/lock
Make the script work on a debian10 host. I had developed it initially on
debian9, where this was not necessary, and the Jenkins servers are also
running debian9. Fixes:

Failed to mount tmpfs at /run/lock: Permission denied
[!!!!!!] Failed to mount API filesystems, freezing.
Freezing execution.

Change-Id: I5127356031a5dd080473aa650c2beae2a81a697f
2020-05-28 09:53:22 +00:00
Oliver Smith 2774c91438 repo-install-test: integrate
Make the script run from its new location.

Related: OS#4563
Change-Id: Ib6fbc4b9487a84e0c28cd8b0622ddc2d5b1dfe14
2020-05-28 09:53:22 +00:00
Oliver Smith 913a61b1f7 repo-install-test: move from docker-playground
Prepare the repo-install-test to be extended to cover centos8 as well.
Move the scripts to osmo-ci.git first, so we can mount them as shared
files into the docker containers from here.

Move files without any changes. Integration will be done in a follow-up
commit, so we have a clean git log.

debian-repo-install-test/jenkins.sh
	=> scripts/repo-install-test.sh
debian-repo-install-test/testdata/blacklist.txt
	=> scripts/repo-install-test/blacklist.txt
debian-repo-install-test/testdata/repo-install-test.sh
	=> scripts/repo-install-test/run-inside-docker.sh

Related: OS#4563
Related: If93f37e8d46597a9abc67a4529be9addd65780f5 (docker-playground)
Change-Id: Ia678cc15e66630bd6b75b6c89bc75c1e27afd66c
2020-05-28 09:53:22 +00:00
Oliver Smith ec04994c10 Cosmetic: OBS: remove comments for requirements
The list is incomplete, and we have a programmatic check for required
binaries in common-obs.sh now. The next patch will add a new one of
these scripts, so let's clean it up a bit.

Change-Id: Ifab635e0d7a162142a8e80f3223d024888114f3f
2020-05-25 11:47:30 +02:00
Oliver Smith 7cb8e2d05c OBS: add debian10 specific patch for limesuite
Add a patch to replace libwxgtk3.0-dev with libwxgtk3.0-gtk3-dev in
debian/control. Adjust OBS scripts to apply such patches from this
repository if they exist here, and fall back to the project's
repository (osmo-trx, osmo-gsm-manuals patches are there).

Related: OS#4562
Change-Id: I8dfb60e999bf9f61e6cd11983dba033a4c6107ad
2020-05-25 11:47:11 +02:00
Oliver Smith b6965f877c scripts/common-obs.sh: move osmo_obs_checkout_copy
Refactor checkout_copy_debian8_jessie from osmocom-latest-packages.sh
and osmocom-nightly-packages.sh to take the distribution name as
argument and merge both to osmo_obs_checkout_copy in common-obs.sh.

Use debian8 as distribution name instead of debian8-jessie, so the
distribution name matches the suffix of the patch file
(build-for-debian8.patch).

A follow-up commit will apply a debian10 specific patch with this new
function.

Related: OS#4562
Change-Id: I2b69571ebc08a920c9147ce544fa8a2e6d950e65
2020-05-25 11:46:04 +02:00
Oliver Smith eb33aa7f63 OBS: add --noservice to osc ci command
Prevent the following error:

ERROR: please install obs-service-format_spec_file or use the --noservice option
Build step 'Execute shell' marked build as failure

Related: https://jenkins.osmocom.org/jenkins/job/Osmocom_OBS_latest/976/console
Change-Id: Ib2fbaace47b3c12462860419f19b01a5b4d192e8
2020-05-22 11:36:58 +02:00
Oliver Smith a36c355462 OBS: check required programs before start
osmocom-*-packages.sh take some time to execute and has quite a few
programs that are not commonly installed. Check the required
dependencies first, so it doesn't abort in the middle of the scripts if
these are missing. I just ran into this with the new meson dependency.

Change-Id: I46cf1aeedd61dbd4fc8fa3f24c60e29033339ead
2020-05-22 11:36:53 +02:00
Oliver Smith 4969d2b116 scripts/osmocom-obs-link.sh: remove sdcc
sdcc does not build for centos 8 without diving deeper into the
dependency hell:

nothing provides gputils,
nothing provides python3-base,
nothing provides inkscape,
nothing provides lyx,
nothing provides makeinfo

So let's not build libusrp for centos 8 for now. We can build osmo-trx
without the usrp1 backend (already configured in the spec.in file).

Related: OS#4550
Change-Id: Icfb289b0eeeb7215d23517fb8a4e56f2a8d774f1
2020-05-20 11:27:39 +02:00
Oliver Smith b38c3e753b scripts/osmocom-obs-link.sh: new file
Related: OS#4550
Change-Id: Ib36682d645d9badad5515476675a947f2aec0baa
2020-05-19 17:02:33 +02:00
Oliver Smith 4f66f30307 OBS: add RPM spec files
Use existing osmocom-*-packages.sh scripts to add RPM spec.in files. Set
the same version, as in the debian .dsc files.

Related: OS#4550
Change-Id: If93b9d95e4c18cf1c29594c0802cbffaea27101c
2020-05-19 16:58:37 +02:00
Pau Espin 71cc851e35 osmo-gsm-tester: Point config parameter to file instead of its dirname
Since osmo-gsm-tester.git Change-Id Ieca65b71b543c44cfcec8e83efd0fe053c432e55,
the -c parameter holds the config file and not the directory where it is contained.

Change-Id: I9aca57c4dd3180367eb17ec92177b90a9c411a6a
2020-05-11 18:50:11 +02:00