This image used to be pushed to the sysmocom registry, before the
osmocom one existed. Let's make it available in the osmocom one now that
we have it instead.
The new job triggers upon conclusion of the
registry-rebuild-upload-titan job, since anyway the ttcn3-bts-tests is
based on that image and hence requires it to be built prior to it.
Related: SYS#5765
Change-Id: I65e4e5a9e539de5bfd881e08d7c5842f2266ecee
It seems that TTCN3-centos-remsim-test was disabled manually via the web
UI and only got enabled recently after rolling out unrelated changes in
jobs/ttcn3-testsuites.yml. The tests do not run properly with the centos
version and it seems that nobody is using it, so disable them again for
now.
Change-Id: I4885333d63944af3510fdf0519233989808944ff
Import the existing (non jenkins-job-builder) job with
jenkins-job-wrecker. Change it to fetch the git repository, add missing
mkdir so it works with a fresh workspace too.
Fixes: SYS#5738
Change-Id: I19d18b24a6ae5948aeaf7c46083748c70cdb3b7b
Now that we made a new release including the new .spec.in files, from
which the rpms are built, we have the rpms in the repository and can
enable the repo install test for latest.
Change-Id: I5da2b895d636b348e5aa0539a23fe4d99e8644ae
Let's include the 'protocol' part itno the git_base_url variable, so it
actually becomes an URL, not just a hostname-with-path-prefix.
This way we can keep using git:// for osmocom and use https:// for
github and sysmocom.
Change-Id: I7befd1dd1445e0aa4d42434dbc8e001f904ae196
Uploading to network:osmocom:* should only be done when these scripts
are running in the Osmocom jenkins. Remove the default and require users
of the script to explicitly set PROJ.
Related: SYS#5370
Change-Id: If49ce217e77716b63dfde9139e869672a54b66a2
We should do like the various contrib/jenkins.sh scripts and
bring our own known_hosts file to deploy to ftp.osmocom.org.
This fixes deploying after merging If0d57ef9edc4d6b3fdf435e44573a15d64245b6a
recently.
Change-Id: Ia598739f820c8b00c33382afbbe88bf2638241dc
We should use service-aliases and not the primary host name, as
that makes migration between machines hard.
Change-Id: If0d57ef9edc4d6b3fdf435e44573a15d64245b6a
The latest tagged libosmocore misses several important features
and it is currently not economic to maintain a test suite for
the older NS dialect.
Change-Id: I3c87ec54c86ecbfe0c358178b4d8dafd613db584
Build debian-stretch-obs-latest instead of debian-stretch-build, before
building debian-stretch-build-dist.
Depends: docker-playground I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f
Change-Id: I4189ab1bf483f0a31ffdb35af0d42fe2e9a72a90
Don't wipe the workspace of kernel tests. Cloning the kernel sources
takes a great amount of time and traffic, so we want to keep them
around.
Change-Id: Ifbf6ea127011d8c9fc5c08b584d99ea0220c3e1a
Build both of them in docker, like most other projects.
Depends: docker-playground Ieec31fd6a2034c4430be81afd1d370816cd577d5
Related: OS#5055
Change-Id: Ifc11730192b852d3760a31a561efc61a1a853674
Use the new label that matches all three rpi4 nodes in master-builds and
gerrit-verifications (so the builds can run on any of them). Use the
names of the three nodes in update-osmo-*-on-slaves, so all of them get
updated.
Related: https://jenkins.osmocom.org/jenkins/label/rpi4-raspbian10/
Related: OS#5055
Change-Id: I5b2af801baeb510e7784d6bcd7cabfda4962af0c
Here, the job names are not the same as the directory names of
docker-playground.git
Related: OS#3208
Change-Id: Idbcb7267ce38cbdc2df5631df404f908487f827b
Change the description of the job, to make it easier to use for somebody
not familiar with the Osmocom stack / the testsuites. Move the BRANCH
parameter to the bottom, as it is not relevant for kernel developers who
want to test their kernel, and adjust the description.
Related: OS#3208
Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea
Let the user choose whether to run against osmo-ggsn latest or master.
I chose the name "OSMOCOM_VERSION" for the variable to make this easier
to use for people not familiar with the Osmocom stack / the test
infrastructure, as suggested in the related issue.
Related: OS#3208
Change-Id: Ifaf8ed6502b469ade670c3f436670480d27becd6
Add new nightly jobs, as requested in OS#3208:
- ttcn3-ggsn-test-kernel-latest-torvalds
- ttcn3-ggsn-test-kernel-latest-net-next
Note that they are in ttcn3-testsuites.yml and not
testsuites-kernel-git.yml, because the KERNEL_URL etc. parameters are
not configurable. These new jobs are supposed to run every night with
the same hardcoded git repositories, the other job from
testsuites-kernel-git.yml is for manual runs with a freely configurable
kernel URL.
Depends: docker-playground Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9
Related: OS#3208
Change-Id: I6918b953b64b0d81805fd02b1a8469a8db20f938
Move ttcn3-ggsn-test-kernel-git into its own file, so the parameters
that are only relevant for cloning a kernel from git, do not show up in
all other TTCN-3 jenkins jobs.
Related: OS#3208
Change-Id: Iafbe6139db47c2918dc1fd7c3bacf38da326d9c8
As decided in the meeting, disable jobs in the config instead of
manually disabling them in the web UI.
Change-Id: I11e9504cace39d7377e993537c6746fe154b3f12
Make it possible to run the jenkins job with a different kernel
repository, by exposing KERNEL_URL, KERNEL_REMOTE_NAME and
KERNEL_BRANCH.
Related: OS#3208
Change-Id: I5d4202a67a24d9c15a5b211fa29ce9d5b5a9d9c1
Change the name of the job to ttcn3-ggsn-test-kernel-git. A follow-up
patch will add parameters to the jenkins job to specify a different
repository than net-next, therefore the generic name makes more sense.
Related: OS#3208
Change-Id: I409f49f88f0a75c782dd3c90c5051e8287644138
Run osmo-ggsn ttcn3 tests against the gtp kernel module from the debian
kernel and from HEAD of the linux netdev/net-next git repository.
Depends: docker-playground I1f337af1e2de6db05b22636bc31a535404235559
Related: OS#3208
Change-Id: I4c496af78820d95549da22c1271bafe911f7eefb
Move 'cd' and './jenkins.sh' commands towards the end, so they are not
repeated in the case block of each pattern. This is in preparation for
the ggsn kernel mod test, which will need new patterns.
Related: OS#3208
Change-Id: I0fac24b961b1abb09317144ec2f65d4e21eb70c2
Prepare for the ggsn kernel module test, where we don't want to wipe the
workspace with the cloned linux git tree.
Related: OS#3208
Change-Id: Ic5843513c376d2b78be8ab90b21a747d31a827f1
Trigger registry-rebuild-upload-titan on changes in
osmo-ttcn3-hacks.git. Write registry-triggers.yml with a job template,
so we could add more triggers from git repos -> registry easily if
needed in the future.
Related: OS#5017
Change-Id: Ib6a27be6351ce821c7023a1f75a82b1ade2ffa49
Add the slave axis again, so the jobs aren't stuck forever. I had
assumed that without the axis, it would run on any node, but that's not
how it works. Add a label for this job, with several nodes attached,
like we do it for TTCN-3, master-builds, gerrit-verifications etc.
Related: https://jenkins.osmocom.org/jenkins/label/repo-install-test/
Related: OS#4567
Fixes: fcf669 ("repo-install-test: run on all build slaves again")
Change-Id: I276ab47f76a0f4db542ca99825ebb019236b4d27
It was not possible to reproduce the weird rpm errors on
admin2-deb9build, which had lead to limiting the build slaves to
build2-deb9build-ansible. Enable building on all again.
Closes: OS#4567
Change-Id: I82ef1f0c581de8ee826adedd9ecde6b4adaa36ba
Give OBS more time to build the repository, before verifying that we can
install all packages from the repository. Apparently, OBS publishes the
repository in WIP state, before all packages for a distribution have
been built.
This leads to problems in the "nightly" and "next" repositories. In
contrary to "latest", we do not bump soname versions when doing ABI
changes, so we require the user to have all installed Osmocom packages
built from the same timestamp. With recent changes in the OBS scripts,
we enforce this by having all packages built from the same timestamp
depend on the exact version of a dummy package with that timestamp as
version.
The repo-install-test installs all packages from the binary repository,
and so it fails, as it should, if the repository is in an inconsistent
state with some packages built today and some packages built yesterday.
Related: OS#4733
Change-Id: I8df9b449d6213b5dca6fd9bf5c06b5c96d468f66
docker_run was duplicated for osmo-e1-hardware and no2bootloader, so the
'-e PATH' line could be removed from the global docker_run. It was
overriding the PATH, which then did not contain the path to the compiler
toolchain anymore.
This workaround is not needed anymore since de5aa17d6 ('jobs: don't
overwrite PATH in "docker run"').
Related: OS#4911
Change-Id: I97a4add17d9fa1bd28ab0ceb054b9a8d948b6f86
Use new location inside / outside docker, where the repository was
cloned already. So it does not need to be cloned during the job.
Roll out: make sure that the docker images are already built! (or let me
merge it)
Related: OS#4912
Depends: docker-playground Id402e0ea372b5ca8a6c8f6f5beb190544c888207
Change-Id: Ibe91a613162687589e006cba99193606fb8a3eb9
Add the variable to projects that don't use docker at all or overwrite
docker_run instead of using the global variable that has
OSMO_GSM_MANUALS_DIR defined.
Related: OS#4912
Change-Id: I65102655b4b3e907a0b0de8026f8f9af76281f90
Don't mount $HOME/bin to /build_bin, and don't overwrite PATH to include
/build_bin anymore. This isn't needed because the scripts are installed
to /usr/local/bin inside the docker images now.
Depends: docker-playground I0820f13cd740f7d4a8999d279cef6ae293a67d81
Related: OS#4911
Change-Id: I45bd7ea56849dab839a98cfd52806f7cd288094e
Save time by only cloning the repository, and not running autoreconf
-fi, ./configure, make and make install. Especially the tests during
make took up significant time, that slowed every project depending on
osmo-gsm-manuals down while being built through master-builds or
gerrit-verifications jobs. Set OSMO_GSM_MANUALS_DIR to the clone
location.
This is an interim measure, I'll submit more patches soon that remove
the 'osmo-build-dep.sh osmo-gsm-manuals' calls from all projects.
Change-Id: I5238cf3f93ded97ed2b44d27868123a646e122dc
Related: OS#4912
Gerrit verification jobs sometimes hang (usually during the VTY tests).
At some point we should just time out, default is 30 minutes
Change-Id: I6fc6ee976f2d88efdab1582a418d1adcd384c850
This will rune once per week and make sure that registry.osmocom.org
has a fpga-build container that the buld slaves can use.
Change-Id: Ie700d7c6e3c5e794edd81c3acc4b689e05d6864d
We use centos8 instead of centos in all docker-playground.git setups and
the infrastructure there expects that kind of naming.
Related: OS#4888
Change-Id: Idfbb2c4fc1ca10741406c8ab8930dabe8ce632ee
we cannot even create new slaves as lxc-create doesn't support debian
jessie anymore. Let's focus on Debian 9 + Debian 10
Change-Id: I2fddd460f7d1db755cc9b732b2be80494d26e091
We actually do the verification inside a (debian 9) docker container anyway,
so there's no need to run those on the old debian8 slaves.
Change-Id: I2168bd2f0e6221518ece111e29dc604c33eaca6a
Since Idba84164b90e3d183a20b5eb69cbfe15745e447c, we started to
generate separate PDFs for different osmo-bts-variants, so
let's enable them all. Otherwise only osmo-bts-{virtual,sysmo}
PDFs are generated and uploaded to the server.
Change-Id: I517be2d475f57026dab7f001d2298cf1a1aa2c7c
Related: SYS#4937
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
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
There was a directry refactoring a few weeks ago in osmo-gsm-tester and
this path was not updated correctly.
Change-Id: I580cd9d4a602b3ed1839fb0990ac3816c5e42cbe
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
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
As of osmo-gsm-tester.git Change-Id
I7eb69f870d0dcb5906d45ae067d6bed1aabf5862, jenkins-run.sh script uses
the sysmocom value by default, so let's avoid setting it to simplify
stuff.
Change-Id: I8edfb93d53376930f60e0bd8d36a82ec6c11ed85
Since osmo-gsm-tester.git I364e0859c0851b9167907a4d948b659a0f6a19fb the
example/ directory has been renamed to sysmocom/
Change-Id: I4c7516d2eb9636d37391a81dc9d484c0c04d7191
Let's use the osmo-gsm-tester docker image based on the
debian-stretch-jenkins instead of the later directly, since the former
has all osmo-gsm-tester required dependencies.
Change-Id: I256eeed82eef0969d93dc015e043b0417f56f52c
Only for nightly, not latest, since example/sccp_demo_user is not
installed by autotools and debian packages, so only in nightly where we
build from source we are able to copy it to docker image manually.
Related: OS#4343
Change-Id: Ia0a68d74215bdc1bc6319241d60f858312fa14e9
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
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
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
Place a link to the wiki page, that now documents all available
environment variables.
Related: OS#4243
Change-Id: I770360b671c64369cf6cdb4fb4222921cc6af58e
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
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
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
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
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
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
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
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
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
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
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
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
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