Commit Graph

552 Commits

Author SHA1 Message Date
Oliver Smith 2194146d94 jobs/osmocom-obs-sync: remove Ubuntu 20.04
We build binary packages for the last 2 LTS versions of Ubuntu, so
remove 20.04.

Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Linux_Distributions
Change-Id: Ia93b272447032eb5224d8e14a75801dda8a596a8
2024-04-15 10:19:16 +02:00
Oliver Smith 6a83362344 jobs/osmocom-obs-sync: add Ubuntu 24.04
Change-Id: I79a6fe1fb65a7245ab38674764953468fab91d6b
2024-04-12 10:54:49 +02:00
Oliver Smith a307c7df71 jobs/gerrit,master: osmo-hnbgw: add nftables var
Build with and without nftables.

Related: OS#6425
Change-Id: I9828b70708dbe466c37df6ffb87b04362f14c71c
2024-04-04 11:59:04 +02:00
Oliver Smith 29a41d387e ttcn3-ggsn-test-kernel-latest-net-next: update net-next branch
The branch of net-next is now called main. By using the old name, the
jenkins job was checking out a 6.3 kernel, we are now at 6.9 rcs.

Related: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/
Change-Id: Ieee448c514bc0ff457b9d17c8b12ee00953995d2
2024-04-03 12:20:41 +00:00
Oliver Smith ebf4df3242 jobs/ttcn3: …-pablo-gtp: don't wipe workspace
The ttcn3-ggsn-test-kernel-* jobs should not wipe their workspace, so we
can avoid shallow-cloning the kernel if the commit did not change.

The way the scripts in docker-playground.git are written, this also
caused a permission error.

Change-Id: I4ac1b2c3f5ba63c131dd1d6a4888f32a27264eba
2024-04-03 12:20:41 +00:00
Pau Espin a59c9257b4 jobs: ttcn3-testsuites.yml: Add job ttcn3-asterisk-ims-ue-test
Related: SYS#6782
Change-Id: I06de12224399bbddc27649b7d52a6194faec07c4
2024-04-02 13:32:47 +02:00
Oliver Smith b5a1b009b7 jobs/ttcn3: add ttcn3-ggsn-test-kernel-pablo-gtp
Add a temporary job to run against the IPv6 patches, until they are
upstreamed.

Related: OS#1952
Change-Id: Idf0e3fd5ba81565ce1626dfdf186c88280232550
2024-03-25 12:40:46 +01:00
Vadim Yanitskiy 31fd5cf020 gerrit-verifications: execute 'distcheck' job for pysim
Change-Id: I9d4d9e9de2b16a4b745791f3c9c93507f43bfa6d
Related: pysim.git Ic72d58494e8fd0cab8d66ce60f7b70593b770872
2024-03-22 19:23:02 +00:00
Oliver Smith 36cd8c53a6 jobs/master-builds: libosmocore: io_uring nodes
Like the gerrit-verification jobs for libosmocore, run the master-builds
jobs on nodes with the io_uring label.

Related: OS#6405
Change-Id: Iea6791b3fbb5c445a539c2b4636a643d6c8d517b
2024-03-22 07:26:19 +00:00
Oliver Smith c1fe54aaf8 jobs: add osmocom-obs-ewild
Similar to osmocom-obs-nhofmeyr, add a jenkins job that automatically
picks up changes in Hoernchen/mssdr branches in the Osmocom projects,
and builds binary packages in home:ewild:mssdr.

Related: OS#6409
Change-Id: I9a8aaf00e3fae84a61ff3cab64750926f8a9e2e1
2024-03-21 10:33:42 +01:00
Harald Welte 3cf8a0e792 jenkins: Add io_uring job for osmo-mgw
A change introducing osmo_io for RTP/RTCP of omo-mgw
is currently in review at  https://gerrit.osmocom.org/c/osmo-mgw/+/36363

Let's make sure we have a related io_uring test job.

Change-Id: I672c72c855bebc1f895be51f3fa3cf0e368005ff
Related: OS#6387, SYS#5094
2024-03-20 11:52:41 +01:00
Oliver Smith cd0de59831 jobs/gerrit: libosmocore: run on io_uring nodes
We have at least one node where the io_uring backend does not work.
Allow running the osmo_io tests with the io_uring backend in CI by
limiting the jenkins nodes used to the ones where we know that io_uring
works.

Related: libosmocore I82db9a15bc483a5447d86352512afaafa2bcfbb6
Related: OS#6405
Change-Id: I9289e2f84edbff95d81bb4a92863865b9563fc6a
2024-03-20 10:51:04 +01:00
Oliver Smith 642635a3af jobs/ttcn3: rename io_uring node label
Rename it from ttcn3-io_uring to io_uring, as it will be used for
non-ttcn3 jobs too in the next patch.

Related: OS#6405
Change-Id: Icd23a4497771c939f6b988ea244c9dcabfd30e3f
2024-03-20 10:49:21 +01:00
Oliver Smith 65005ed338 jobs/gerrit: build for debian 12: gapk, osmocom-bb
Related: OS#6409
Change-Id: Ib48d90af734e627aa4760af6423481970626d501
2024-03-18 14:38:07 +01:00
Oliver Smith 467a96c281 jobs/ttcn3: run io_uring tests on specific nodes
io_uring_queue_init fails on some of the jenkins nodes running the TTCN3
testsuites with io_uring. It seems that the kernel is too old on these
nodes. Run the testsuites only on jenkins nodes with the new
ttcn3-io_uring label, which have a recent kernel.

Related: OS#6357
Change-Id: If917806f9056fdf99863f4132f44659b2bfd44c3
2024-03-14 14:03:51 +01:00
Oliver Smith 4d06b21410 ttcn3: add ttcn3-stp-test-io_uring
Related: OS#6357
Change-Id: I996dee2f9ce27fcdd8771fa22379aa606192824d
2024-03-14 13:22:07 +01:00
Oliver Smith bae98f4f35 jobs/ttcn3: add testsuites with io_uring
Set LIBOSMO_IO_BACKEND=IO_URING via the DOCKER_ARGS variable, which all
SUTs already use in docker-playground.git (see ttcn3-*/jenkins.sh).

The list of testsuites to test for is takend from:
https://osmocom.org/issues/6357#note-9

Closes: OS#6357
Change-Id: I8eb3f4fdfe54268d3b623d88c8746f5395ba509d
2024-03-13 11:24:50 +01:00
Pau Espin 61723f812c jobs/ttcn: Run ttcn3-epdg-test only under debian12
Test EPDG_Tests.TC_mt_ipv4_echo_req fails when running under debian11
(node build2-deb11build-ansible), most probably due to some kernel bug
fixed later on.
Since anyway osmo-epdg requires OTP from debian12, it makes no sense to
attempt to support older kernel version from debian11, so simply avoid
picking debian11 to run the tests.

Change-Id: I247853cbefa0864f54bad5e5b6597556c46a51e3
2024-03-07 16:04:46 +01:00
Oliver Smith e2f71fdcf3 jobs/gerrit: don't build osmo-epdg for debian:11
After switching to a newer gtplib, a newer OTP is required that isn't in
debian 11. Disable it, as Pau suggested.

Related: https://gerrit.osmocom.org/c/erlang/osmo-epdg/+/36052/3#message-d76c9c565d6feea88ef2e596fc5554ddd2e52cc1
Change-Id: I6a9147aef85612f3fb00920edea8c6706954b007
2024-02-23 10:10:11 +01:00
Oliver Smith 5d1216f76a jobs/registry-update-base…: remove almalinux8
Related: https://osmocom.org/news/246
Related: SYS#6759
Change-Id: If921a5844ce602a7bda84b9e4d1507796c10948f
2024-02-14 16:53:50 +01:00
Oliver Smith cfaf536f5e jobs/ttcn3-testsuites: remove centos8
Related: https://osmocom.org/news/246
Related: SYS#6759
Change-Id: I4142c5ababb85b74a890a0cbfc302bd15d44268e
2024-02-14 16:53:47 +01:00
Oliver Smith da99606236 jobs/repo-install-test: remove centos8
Related: https://osmocom.org/news/246
Related: SYS#6759
Change-Id: I311ccfe61b86e467996022107294ad560eee8bdf
2024-02-14 16:53:44 +01:00
Oliver Smith b997fa98b2 jobs/gerrit-verifications: remove almalinux8
Related: https://osmocom.org/news/246
Related: SYS#6759
Change-Id: Ia180ac87251c39d9715276cf23a2663fb917f50a
2024-02-14 16:27:44 +01:00
Oliver Smith de102c44c3 jobs/osmocom-obs-sync: remove Ubuntu 23.04, Debian Testing
Related: OS#6163
Change-Id: Ief01182755688b2a16fc3ef272601e93d4a25ba1
2024-02-12 11:48:20 +01:00
Oliver Smith 92b50a5a6b jobs/update-osmo-ci: remove build3
Related: OS#6186
Change-Id: I63bbac0a767c30f8d3e4552024172bd689122d61
2024-01-24 10:31:05 +01:00
Oliver Smith 235508927f jobs/ttcn3: remove 2023q1 testsuites
Related: SYS#6759
Change-Id: I97fd1b98b1515c320a297aac429007cc500e7e29
2024-01-24 09:58:52 +01:00
Oliver Smith a9c93850c3 jobs/osmo-gsm-tester-virtual: kill old instances
Make sure osmo-gsm-tester gets killed eventually, even if a bug causes
it to run forever or if aborted manually.

* add a name to the docker container
* kill the docker container if it runs longer than 24h with
  docker-cleanup.sh
* rename fix_permissions_trap to clean_up_trap and kill it there, when
  it is still running before the job starts and after it is done
  (in my testing this did not kill it after pressing abort, but it would
  be killed either at the start of the next job running on the same
  jenkins node, or after 24h by docker-cleanup.sh)

Related: OS#6304
Change-Id: I6fc874d319d74aabdc33c10910cbcca2978d5bbb
2023-12-14 11:11:27 +01:00
Oliver Smith 4cf490967c coverity: add job to check for failed uploads
Related: SYS#6685
Change-Id: Ideabcb30f9f8f365acff2de7751eb74a2762a7a6
2023-12-08 14:53:40 +01:00
Oliver Smith 11f9724c39 OBS: add jenkins job to check for new distros
Add a new jenkins job to notify us about new versions of Debian,
Raspbian and Ubuntu becoming available in the openSUSE OBS. This allows
us to consistently follow along and make the repositories available in
the Osmocom OBS. I've decided to check the openSUSE OBS instead of
checking somewhere upstream, because it takes time between a new
release of a distribution and the version becoming available in
openSUSE OBS, and we have another job that syncs the configuration with
that OBS instance.

Related: OS#6163
Change-Id: I0abc49a95197da55f7d83ed4fd1c4ebb6bd14b1e
2023-12-06 06:10:46 +00:00
Oliver Smith 5db0807a64 jobs/gerrit: osmo-upf: don't for build debian 10
osmo-upf currently can't build against debian 10, as the required
libnftables-dev version there is too low and we don't provide a backport
for it. As discussed, disable it for debian 10.

Adjust CI to build against debian 11 instead (in addition to the usual
almalinux 8, debian 12).

Change-Id: I63798d451b66bf728b58b02414c1a44f6156b356
2023-12-05 16:03:28 +01:00
Oliver Smith 046a284e83 jobs/osmocom-obs-sync: add newest Ubuntu, Raspbian
Related: OS#6163
Change-Id: I459bd48b50d80fcd07837377e19e89df21d6c328
2023-12-05 13:58:09 +01:00
Oliver Smith c4ee740d57 jobs: fix undefined parameter log warnings
Adjust all jobs in the gerrit verifications pipeline to use the same
parameters from a new include file, to prevent undefined parameter
warnings in the log.

Fixes: OS#6261
Change-Id: Iadc5cd8996eb4ed86634ceb35829a3e9239e598d
2023-12-04 08:55:28 +01:00
Oliver Smith 6d4b0effa6 jobs/update-osmo-*: add build4-deb12build-ansible
Related: OS#6186
Change-Id: I1f732718df87ed3b850332dbf1a7f6b2f854f280
2023-10-19 07:30:20 +00:00
Pau Espin 7be78df106 jobs/ttcn3-testsuites.yml: Add ttcn3-epdg-test
Related: OS#6204
Change-Id: I4b566c1e767c7a6d6cb474a257b0a2632a2afe92
2023-10-18 12:29:16 +02:00
Pau Espin 35a1155a42 jobs/ttcn3-testsuites.yml: Add ttcn3-hss-test-ogs
Related: SYS#6588
Change-Id: Ic98a5a22b2c10b32052e613d0a46fbc7640c60d9
2023-10-10 19:26:08 +02:00
Oliver Smith 2e809f4637 jobs/master-builds: add erlang projects
Add the erlang projects found in gerrit-verifications to master-builds
too, as we have it with most other Osmocom projects.

Change-Id: I6cf5a3c1e52ee73ad63eb2d7d5b1af19a9809026
2023-10-06 08:21:48 +00:00
Oliver Smith 193e2a4ce6 jobs/master: use same url scheme as gerrit jobs
Make it easier to copy entries from gerrit-verifications.yml to
master-builds.yml by using the same url schema in both.

Change-Id: Ibe992dd8027a8b8df8623abc57a590972443449f
2023-10-06 08:21:48 +00:00
Pau Espin 9b9b2a2780 jobs/gerrit-verifications: Add osmo-epdg
Change-Id: I84accfc5065ed2e780c4ecb77885af61bc6fb72f
2023-10-05 16:22:49 +02:00
Oliver Smith 774347c25b jobs/master-builds: add osmo-python-tests
Run contrib/jenkins.sh of osmo-python-tests once a day from master too,
not only from gerrit verifications.

Change-Id: I164553d0948549d60c45b8840716c608463dc486
2023-09-13 16:11:29 +00:00
Oliver Smith 03cb833746 jobs: update trigger timers
Ensure we trigger building new OBS packages first, then wait plenty of
time until the binary packages are available (and run jobs in the
meantime that don't need them), and only after that we run the jobs
that need the binary packages.

Otherwise TTCN3 jobs may test the packages from the previous day, and
some jobs may fail completely due to packages not being completely built
yet. For example, yesterday the new Osmocom CNI releases were tagged,
which means the :latest packages also need to be rebuilt (-> building
all OBS packages takes longer). The osmocom-release-manuals and
-tarballs jobs failed, because the new binary packages were not
available yet when they ran.

Change all timers to the format "H 20 * * *" to have a deterministic
hour and semi-random minute based on the job name.

Change-Id: Ib68f9a78bae27a63706a8c95715bf6a244b7bf1d
2023-09-13 16:11:29 +00:00
Oliver Smith 1b66903ddb jobs/osmocom-obs-sync: new job
Related: OS#6165
Change-Id: Ibcf02eb5feee2b314ff28861835040c21aea4294
2023-09-08 09:06:57 +00:00
Oliver Smith eac517c1af jobs/master-builds: xgoldmon: remove osmo-ci dir
Fix running the job multiple times in a row. As the master jobs don't
wipe the git repositories, we need to remove the osmo-ci dir first
before attempting another shallow clone.

Fixes: 451cbe7d ("jobs/master-builds: add xgoldmon")
Change-Id: I877944dbca9d1c3ca57b05e947ba9b3506971bdc
2023-08-30 12:25:52 +02:00
Oliver Smith 9ba26aa8fb jobs/master-builds: add osmo-ir77
Replace the legacy osmo-ir77 job (not done with jenkins-job-builder)
with a new master-osmo-ir77 job that works just like the other master
jobs:
- build in docker
- have build commands in contrib/jenkins.sh

Depends: satellite/osmo-ir77#1
Change-Id: I45034e4ed9ed8ad5683ac2de24521649f138b41c
2023-08-29 13:02:33 +02:00
Oliver Smith 1b6970edac jobs/master-builds: add simtrace
Replace the legacy SIMtrace job (not done with jenkins-job-builder) with
a new master-simtrace job that works just like the other master jobs:
- build in docker
- have build commands in contrib/jenkins.sh

Set the same notification mails as for simtrace2.

Depends: sim-card/simtrace#1
Change-Id: I0980ceafa4d1187630b75b45b01b538c750021bb
2023-08-29 13:00:33 +02:00
Oliver Smith 451cbe7d86 jobs/master-builds: add xgoldmon
Replace the legacy xgoldmon job (not done with jenkins-job-builder) with
a new master-xgoldmon job that works more similar to other master jobs:
- build in docker
- have build commands in a jenkins.sh script

Put the jenkins.sh script into osmo-ci, as the upstream repository is
outside of Osmocom infrastructure.

The motivation for this change is, that the current xgoldmon job is
failing since libosmocore depends on liburing by default. This uncovered
that the job is still running outside of docker, where the dependency
has already been added. The following patches will modernize other jobs
which have the same problem.

Change-Id: Ice5704eb12f3c3a777961bc18a55fac63df80fd6
2023-08-29 12:56:34 +02:00
Pau Espin 896bb61d1b jobs: Add nightly job for ttcn3-dia2gsup-test
Related: OS#5757
Change-Id: Icb1a18da0daea1b481b4633eed2de817bfd5a15a
2023-08-28 12:34:07 +00:00
Oliver Smith baa1c11915 jobs/coverity: fix path to home dir
Fix for:
./jenkins.sh: line 35: /home/build/osmo-ci/coverity/get_token.sh: No such file or directory

Fixes: 56bc906e ("coverity: run inside docker")
Change-Id: I87fadd2dffcfaa04eaa942dfb8a496334cb722d5
2023-08-28 12:39:20 +02:00
Oliver Smith 56bc906eed coverity: run inside docker
Run the coverity job inside docker, so all depends are available (fixes
that it currently fails because liburing isn't available for
libosmocore).

Depends: docker-playground I25862a7e3c8a73e13fd4a9237ab57500d8dfc95c
Change-Id: I5cfdb6b2e12e176ff6d6ed6c1b8505d7694993f9
2023-08-25 13:32:59 +02:00
Oliver Smith e9f537dd76 jobs/osmocom-build-tags: run inside docker
Run this job inside docker, so all depends are available (fixes that
it currently fails because liburing isn't available for libosmocore).

Change-Id: I5a8243b3096dba8f94f715413c84683c7495777c
2023-08-25 13:32:59 +02:00
Oliver Smith 53bd6b8ade jobs/osmocom-api: run inside docker
Run the osmocom-api job inside docker, so all depends are available
(fixes that it currently fails because liburing isn't available for
libosmocore).

Use the contrib/known_hosts file, instead of writing an own copy during
the job.

Change-Id: I6e831c71c4c88772c3e4232fcb1a9e2c1c73d997
2023-08-25 13:31:24 +02:00