Split the OBS related jenkins jobs into two, one that uploads to the
new obs.osmocom.org and one that uploads to build.opensuse.org.
Set an alias for "osc" that sets the right server, and set the
expand_aliases shopt so the bash scripts that source common-obs.sh will
not ignore the alias.
Related: OS#5557
Change-Id: Ib271e16e93ebc58ed1ecb0ea881e1f1370e40928
In previous patch Id114d55edc2ba92f7851243ab7df51db332079c4, only the
OSMOCOM_REPO_MIRROR should have been overridden. However
OSMOCOM_REPO_TESTSUITE_MIRROR defaults to OSMOCOM_REPO_MIRROR, so
explicitly set it in this patch to the opensuse mirror.
This fixes problems while building debian-bullseye-titan caused by the
different directory structure of both mirrors, and OSMOCOM_REPO_PATH
intentionally not taken into account while building the testsuite
docker image.
This is part 2/2 of fixing TTCN3-centos-bts-test, which has been failing
since OSMOCOM_REPO_MIRROR was changed in osmo-ci.git. Part 1 is in
docker-playground I78e0445a1b82e5cd72ecaa86e8fe25516b19f485.
Change-Id: I8201f34a0f9747eea78c358a626cc3981d7407c4
Lately we've been seeing a lot of build failures from the TTCN3-centos
jobs running against the nightly repository. It seems that the mirror we
get redirected to isn't syncing properly. Use the Osmocom mirror
instead.
Fix for:
Nightly packages of the Osmocom project (CentOS 190 kB/s | 1.7 kB 00:00
Nightly packages of the Osmocom project (CentOS 1.8 kB/s | 634 B 00:00
[91mErrors during downloading metadata for repository 'network_osmocom_nightly':
- Status code: 404 for 7062058d3e234003a6c3595331cf3fc100-filelists.xml.gz (IP: 134.76.12.6)
- Status code: 404 for ad91db8cb719947d9abc971661c588e8c6-primary.xml.gz (IP: 134.76.12.6)
[0m[91mError: Failed to download metadata for repo 'network_osmocom_nightly': Yum repo downloading error: Downloading error(s): repodata/ad91db8cb7273beaefca0e473d9c4dd12d12786819947d9abc971661c588e8c6-primary.xml.gz - Cannot download, all mirrors were already tried without success; repodata/7062058d3e5395b4b02570496e41e19e8fd306f5234003a6c3595331cf3fc100-filelists.xml.gz - Cannot download, all mirrors were already tried without success
Change-Id: Id114d55edc2ba92f7851243ab7df51db332079c4
The raspberries have been upgraded to the debian 11 based raspberry pi
OS. Adjust the name to avoid confusion.
Related: OS#5453
Change-Id: I0b2e08b11d83243e81b2bb4412ffcc9bc59821ff
Now that master-dahdi-linux-master is passing, we should verify any
future patches also against master.
Change-Id: I86cfd7e868dcaeeb6c6dbc6f08046a70b4582cc7
stretch has too old gcc which doesn't support -Wno-format-truncation
which is used in dahdi-linux since 2018.
Related: OS#5407
Change-Id: I4fca722e67b2c649dea4f9799d277cd568bcc493
Fix sporadic errors related to the clean up script running while images
being built:
failed to get digest sha256:8ea2ba9a1...
Closes: OS#5447
Change-Id: If722fddce8de65a1ae012a46d6a202f430e0c69d
Now that mgw support is in osmo-hnbgw master and docker/ttcn3 testsuite
is working we can enable the test again.
Change-Id: I4c7d1ee876e90d52827b2d8cc57342298dd44061
Related: OS#5152
Add a configuration for the job to the yml file. It looks like this job
was created manually, or the configuration was just not pushed to
gerrit.
This makes e-mail notifications consistent and fixes missing colors in
build output.
Change-Id: I14995dea0a0d223b78e20b49953d5c814c1ad4a1
Build the testsuites in the same docker container during gerrit
verification, as it will be the case when building and running the
testsuites in the various ttcn3-* jenkins jobs.
This avoids the need to install eclipse-titan and libfftranscode on the
jenkins nodes.
Related: OS#5452
Change-Id: I6a667255bb55a945b4c6279d711142aa252c6996
Let's use newer debian to avoid problems with older erlang. Furthermore,
the new image builds rebar3 to avoid issues with unmatching erlang
versions.
Change-Id: I7b1956c515daccf6ab1ff87031c6fec649cadb4b
We only had gerrit build verification for pysim so far, but no 'master'
job that periodically builds/tests master (and publishes the manual).
As a reult, the pySim manual was still the original version from April
2021, while the code has of course progressed quite a bit in git since.
Change-Id: I4dce05cdb5f2c574256378d5fb66cff1c329c141
Closes: OS#5271
We need osmo-ci in those nodes in order for the docker old images to be
cleaned through cron entry installed by ansible docker role, which uses
/home/jenkins/osmo-ci/scripts/docker-cleanup.sh.
Related: OS#5441
Change-Id: Ieb6db0b24dce6099cfa24871a957471ca2c8bcee
Add gerrit verifications for the out-of-tree dahdi-linux kernel module.
Put this in a separate file (not gerrit-verifications.yml), because:
* not only gerrit git repo gets cloned, but also linux.git, and caching
needs to be done properly for it
* so we can have one separate job per linux version that gets tested
Test v4.19 and v5.10 for now, as suggested in the issue.
Related: OS#5407
Depends: docker-playground Id72d19ad08681cd7cb3194de2226292f19e96df5
Change-Id: I65c7663a6b8045796536a727e4adf5554f16b2a9
Follow up on the change of using almalinux instead of centos8 in
docker-playground, with providing the almalinux base images in the
Osmocom registry.
Related: SYS#5818
Related: docker-playground I30e1a773b901b1d2187214445116c7f2aecc4e36
Change-Id: I93a8892da628b8d2f9cbb2a6453e8ab3153a9c4a
Enable the linter again, as we decided to use a repo-specific checkpatch
config in these.
This reverts commit 2c6aa82c9a.
Related: OS#5399
Change-Id: Ib79a20658bfae64d9b718e53e6a9393708a4e694
For some reason (jenkins upgrade?), output is not colored anymore.
Explicitly enable the ansi color wrapper in the jjb configs, where we
have such colors in the output.
Change-Id: I2d3faaf608ae9d12573f5c0f740ff7ee4b33358e
The real target was not osmo-iuh itself but osmo-hnbgw. Since osmo-hnbgw
is inits own repository now, let's rename it.
Change-Id: I72e93683ea355cf0886f08a3f31568f58ff42473
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
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
This requires Change-ID I800ebe0f33cf7c86eea65d2e186c6af12fee6db7 from
osmo-ttcn3-hacks.
Fixes: OS#3179
Change-Id: Idee5a986e4cda8db601982ac3f2662bc20fe3f5f
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
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
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
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
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
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
Add the same build discarder as we have in master-builds.yml. This
should help with the disk space problems.
Change-Id: Ib7f01751ca5f6fb3e29a436982e2891d9cab0488
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
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
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
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
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
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
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
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
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
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
Let all TTCN3 related Jenkins jobs get generated by
ttcn3-testsuites.yml, overwriting the old manually generated jobs.
Related: OS#3268
Change-Id: Ib4c0949d21fcbc16c61c6ffe9d3eedea198aaf1d
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
Current entire default testsuite takes almost 7 hours to run, so let's
run it once nightly and be done with it.
This way, during office time if we want to test something on the prod
setup (due to hw only avaialble there) we can do it without having to
wait, disable the job hours in advance or having to kill all processes
and clean osmo-gsm-tester state.
Change-Id: I138bf50d6d066d2da4cd97f25880628b93ddc237
It seems jenkins cannot deal with this, so we cannot specify something
like 'origin/nrw/oc2g-next' in a label. Let's work around by using only
oc2g-next here and expanding that to 'origin/nrw/oc2g-next' only in the
osmo-l1yer1-headers.sh script of osmo-ci.git
Change-Id: I9130a2f349f06a0b46b50665cef7188ddb08f666
The gerrit-osmo-bts job is used for build verification of osmo-bts
patches. This adds (untested) support for OC2G
Change-Id: I62a9a5ec357b7246b2d7915681c646c79eda4b76
* 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
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
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
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
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
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
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
This is the same as done for the master builds in
I6f025c642d5ae57cdda9d7b34bbaeb82ca119354,
seems I forgot to follow up with this one.
Change-Id: I9204ca2f083c8a6a04c6c0fc7d51752a4f1a4830
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
It's not any more used, neither does the job even work, because
the split file got already removed.
Change-Id: I6e85d6384f2a377f1ebe0e06c9ca92a594050eec