Skip to content

Changes

Summary

  1. scripts: wireshark: remove laforge/doc-fixes (details)
  2. OBS: keep going if version can't be parsed (details)
  3. jobs: update trigger timers (details)
  4. jobs/master-builds: add osmo-python-tests (details)
  5. OBS: fix generating wrong limesuite version (details)
  6. repo-install-test: skip soapysdr-module-lms7 (details)
  7. OBS: add git tag pattern for wireshark (details)
  8. ansible: increase docker_max_image_space (details)
  9. ansible/util/known_hosts: new file (details)
  10. scripts/docker-cleanup: remove containers > 24h (details)
  11. jobs/gerrit-verifications: Add osmo-epdg (details)
  12. obs: srcpkg.py: Run generate_build_dep.sh for all projects (details)
  13. obs: add erlang/osmo-epdg to projects_osmocom (details)
  14. obs: Fix typo in log line informing variable to be modified (details)
  15. obs: srcpkg: support having no git tags (details)
  16. jobs/master: use same url scheme as gerrit jobs (details)
  17. jobs/master-builds: add erlang projects (details)
  18. obs: build_binpkg: no network during build (details)
  19. jobs/ttcn3-testsuites.yml: Add ttcn3-hss-test-ogs (details)
  20. ansible: ttcn3: install netcat-openbsd (details)
  21. ansible: hosts: remove gtp0-deb(10,11)build (details)
  22. ansible: known_hosts: update (details)
  23. jobs/ttcn3-testsuites.yml: Add ttcn3-epdg-test (details)
  24. ansible: hosts: add build4-deb12build-ansible (details)
  25. ansible: jenkins: debian: remove qemu package (details)
  26. ansible: jenkins: use default-jre-headless (details)
  27. jobs/update-osmo-*: add build4-deb12build-ansible (details)
  28. ansible: jenkins: debian: sort packages (details)
  29. ansible: jenkins: debian: add more packages (details)
  30. ansible: qemu: netcat -> netcat-openbsd (details)
  31. scripts/tarballs: add osmo-e1-recorder (details)
  32. scripts/common: osmo_git_last_commit…: add vars (details)
  33. scripts/tarballs: add gapk (details)
  34. scripts/tarballs: add osmo-fl2k, rtl-sdr (details)
  35. scripts/tarballs: create release dir if missing (details)
  36. scripts/repo-install-test: fix sftp compat (details)
  37. scripts/repo-install-test: fix sftp compat, part 2 (details)
  38. scripts/tarballs: gapk > v1.0: use make dist-bzip2 (details)
  39. scripts/tarballs: gapk: add install depends (details)
  40. OBS: add workaround for limesuite 23.10 release (details)
  41. Update git tag patterns for rtl-sdr, osmo-fl2k (details)
  42. repo-install-test: fix ca-certificates-java error (details)
  43. repo-install-test: ignore limesuite-images (details)
  44. tarballs: add osmo_dia2gsup (details)
  45. tarballs: git archive: put files in directory (details)
  46. tarballs: git archive: make proper tar.bz2 (details)
  47. obs-mirror: keep nightly builds for two years (details)
  48. obs-mirror: rsync over from remote server via rsync (details)
  49. obs-worker: support more recent opensuse versions (details)
  50. hosts: Add build4-obsworker (details)
  51. ttcn3-slave: Install sudo (details)
  52. ansible/jenkins-slave/osmo-ci: Install 'make' required for osmo-ci (details)
  53. ansible: add raspbian11build container on lx2 machine (details)
  54. scripts/docker-cleanup: buildkit cache too (details)
  55. scripts/obs: Add -M/--no-meta option to avoid depending on osmocom-* (details)
  56. repo-install-test: update package filtering logic (details)
  57. jobs: fix undefined parameter log warnings (details)
  58. jobs/osmocom-obs-sync: add newest Ubuntu, Raspbian (details)
  59. jobs/gerrit: osmo-upf: don't for build debian 10 (details)
  60. OBS: lib.osc.get_projects: print apiurl (details)
  61. OBS: add jenkins job to check for new distros (details)
  62. README: update and convert to markdown (details)
  63. README: document how to upgrade coverity (details)
  64. coverity: upgrade to 2023.6.2 (details)
  65. ansible: fix updating /opt/coverity/current (details)
  66. coverity: readlink /opt/coverity/current (details)
  67. coverity: add job to check for failed uploads (details)
  68. coverity: build osmo-hnbgw with '--enable-pfcp' (details)
  69. jobs/osmo-gsm-tester-virtual: kill old instances (details)
  70. OBS: srcpkg Dockerfile: add lsb-release, quilt (details)
  71. jobs/ttcn3: remove 2023q1 testsuites (details)
  72. jobs/update-osmo-ci: remove build3 (details)
  73. jobs/osmocom-obs-sync: remove Ubuntu 23.04, Debian Testing (details)
  74. jobs/gerrit-verifications: remove almalinux8 (details)
  75. jobs/repo-install-test: remove centos8 (details)
  76. jobs/ttcn3-testsuites: remove centos8 (details)
  77. jobs/registry-update-base…: remove almalinux8 (details)
  78. jobs/gerrit: don't build osmo-epdg for debian:11 (details)
  79. jobs/ttcn: Run ttcn3-epdg-test only under debian12 (details)
  80. lint: ignore LICENSE* and COPYING* (details)
  81. jobs/ttcn3: add testsuites with io_uring (details)
  82. ttcn3: add ttcn3-stp-test-io_uring (details)
  83. jobs/ttcn3: run io_uring tests on specific nodes (details)
  84. jobs/gerrit: build for debian 12: gapk, osmocom-bb (details)
  85. OBS: add gapk, osmocom-bb (details)
  86. jobs/ttcn3: rename io_uring node label (details)
  87. jobs/gerrit: libosmocore: run on io_uring nodes (details)
  88. jenkins: Add io_uring job for osmo-mgw (details)
  89. jobs: add osmocom-obs-ewild (details)
  90. jobs/master-builds: libosmocore: io_uring nodes (details)
  91. gerrit-verifications: execute 'distcheck' job for pysim (details)
  92. jobs/ttcn3: add ttcn3-ggsn-test-kernel-pablo-gtp (details)
  93. jobs: ttcn3-testsuites.yml: Add job ttcn3-asterisk-ims-ue-test (details)
  94. jobs/ttcn3: …-pablo-gtp: don't wipe workspace (details)
  95. ttcn3-ggsn-test-kernel-latest-net-next: update net-next branch (details)
  96. checkpatch: recognize json_array_foreach etc. (details)
  97. jobs/gerrit,master: osmo-hnbgw: add nftables var (details)
  98. jobs/osmocom-obs-sync: add Ubuntu 24.04 (details)
  99. jobs/osmocom-obs-sync: remove Ubuntu 20.04 (details)
  100. jobs/ttcn3: run io_uring testsuites on all nodes (details)
  101. jobs/ttcn3: io_uring: set memlock to unlimited (details)
  102. jobs/ttcn3: add ttcn3-sgsn-test-sns[-latest] (details)
  103. repo-install-test: centos8: fix almalinux keys (details)
  104. OBS: move gerrit-binpkgs logic to separate script (details)
  105. jobs/update-osmo-python: remove build3 (details)
  106. ttcn3-bsc-test-io_uring: limit jenkins nodes again (details)
  107. OBS: sync_obs_projects: remove AlmaLinux:8 (details)
  108. ansible/setup-jenkins: install rsync (details)
  109. jobs: gerrit: build osmo-pcap + dep for centos7 (details)
  110. OBS: gerrit_binpkgs: use --no-meta (details)
  111. OBS: gerrit_binpkgs: add hint where to find pkgs (details)
  112. jobs/ttcn3: run ttcn3-msc-test earlier (details)
  113. jobs/ttcn3-testsuites.yml: add ttcn3-bts-test-io_uring (details)
  114. jobs/ttcn3: update ttcn3-ggsn-test-kernel (details)
  115. OBS: add update_obs_eclipse_titan.sh (details)
  116. jobs/{gerrit,master}: osmo-epdg: build manuals too (details)
  117. scripts: osmo_git_clone_url: prefer using gerrit (details)
  118. scripts: osmo_git_clone_url: add osmo-epdg (details)
Commit f453e35022c565229bfa255d7c659a0b41c60e6f by Oliver Smith
scripts: wireshark: remove laforge/doc-fixes

The two patches from this branch have been upstreamed:
https://gitlab.com/wireshark/wireshark/-/commit/15ed53005b7b924303514e2d3618c29584772f27

And with recent changes to docs/README.dissector, git fails to detect
that these are already applied.

Fix for:
  CONFLICT (content): Merge conflict in doc/README.dissector

Change-Id: I17017ba396996e781250d30406193c4f5ec44f82
The file was modified scripts/obs/update_obs_wireshark.sh
Commit 757d58710b5113aaa2d35c49609a6f039171f2d4 by Oliver Smith
OBS: keep going if version can't be parsed

Don't crash in Osmocom_OBS_wireshark because the version can't be
parsed.

Fix for:
  packaging.version.InvalidVersion: Invalid version: '4.1.1rc0.238'

Change-Id: I0cf6c7c2d5939dccc14107f0a8c15593ea8bc4c2
The file was modified scripts/obs/lib/debian.py
Commit 03cb83374624abb1474f595b97aaf44120e1ab22 by laforge
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
The file was modified jobs/osmocom-release-tarballs.yml
The file was modified jobs/master-builds-dahdi.yml
The file was modified jobs/osmocom-list-commits.yml
The file was modified jobs/osmocom-build-tags-against-master.yml
The file was modified jobs/octsim_osmo-ccid-firmware.yml
The file was modified jobs/osmocom-obs-sync.yml
The file was modified jobs/repo-install-test.yml
The file was modified jobs/osmocom-release-manuals.yml
The file was modified jobs/osmocom-api.yml
The file was modified jobs/registry-rebuild-upload-fpga-build.yml
The file was modified jobs/osmocom-obs-wireshark.yml
The file was modified jobs/coverity.yml
The file was modified jobs/osmocom-obs.yml
The file was modified jobs/README.adoc
The file was modified jobs/registry-triggers.yml
The file was modified jobs/ttcn3-testsuites.yml
The file was modified jobs/registry-update-base-images.yml
Commit 774347c25b8919f4ee130c953db3e2ccebd080c7 by laforge
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
The file was modified jobs/master-builds.yml
Commit 62693be148ccf8c44fd38316bdc52efc2948ffca by Oliver Smith
OBS: fix generating wrong limesuite version

Instead of using git-version-gen in all git repositories, only use it
where it is part of the repository. Use git directly to build the
version string otherwise. To fix generating the wrong version string for
limesuite, use "git describe --tags" instead of "git describe" as in
git-version-gen. This is needed because limesuite releases > 20.01 only
have lightweight (non-annotated) tags.

Fix for:
  limesuite: WARNING: version from changelog (22.09.1-1) is higher than
  version based on git tag (20.01.0.182-4828.202309140026), using
  version from changelog (git tag not pushed yet?)

Change-Id: I00d97d5cd12b2938a002d3e5c8ada6503f976e36
The file was modified scripts/obs/lib/srcpkg.py
Commit 9df253bb3405b5819806767c7fefa7fa2433f3e2 by Oliver Smith
repo-install-test: skip soapysdr-module-lms7

Fix for:
  dpkg: error processing archive /tmp/apt-dpkg-install-4OjX3P/0924-soapysdr0.8-module-lms7_22.09.1+dfsg-1+b2_amd64.deb (--unpack):
   trying to overwrite '/usr/lib/x86_64-linux-gnu/SoapySDR/modules0.8/libLMS7Support.so', which is also in package soapysdr0.7-module-lms7:amd64 22.09.1.17.4828.202309142026

Change-Id: I51f3541c62edc78842d4c461362dd8e5ea2f5d94
The file was modified scripts/repo-install-test/blacklist_debian12.txt
Commit 1e748b38a45689eac743da92a4a6ea0d8e34e120 by Oliver Smith
OBS: add git tag pattern for wireshark

Since previous patch 62693be1 ("OBS: fix generating wrong limesuite
version"), the scripts rely on having the correct pattern for the tag
in the config. Add the pattern for wireshark.

Fix for:
  fatal: No tags can describe '6d412b991d8c2f50b7854611b1a9ef567bab9962'.

Change-Id: Ic8e83b4d5d897cb6b94b04b1232486288f3a1f9b
The file was modified scripts/obs/lib/config.py
Commit 9aab3f54ad6e981effffed91f442e474a47135c9 by Oliver Smith
ansible: increase docker_max_image_space

The purpose of the limit is to remove images that are not being used in
a long time. With the current limit of 40 GB it leads to images being
removed just a few hours after they were last used, resulting in lots
of needless rebuilds. Also unexpected errors with images that we just
assume to be there (debian-bookworm-build).

Increases the limit for the nodes that run most of the jobs to 80 GB.

I have verified that the nodes have enough free space.

Related: OS#6183
Change-Id: I8cfb21a86510e43b8347c7f17159575b695ce9ba
The file was modified ansible/hosts
Commit 25db4a639e038eccd0cc038411c51d086e536666 by Oliver Smith
ansible/util/known_hosts: new file

Add the known hosts file that ansible creates.

Change-Id: Ibef171ac2de5193c2335d4d28ef9347cc88b4c49
The file was addedansible/util/known_hosts
Commit b206b2f1d22def7197c1913feeba167314ff2564 by Oliver Smith
scripts/docker-cleanup: remove containers > 24h

Remove containers starting with jenkins- or having ttcn3 in the name, if
they have been running for more than 24 hours. This can happen with the
ttcn3 testsuites, as they typically start multiple docker containers in
the background (one per Osmocom program) before they start the testsuite
docker container in the foreground. Usually the clean up trap makes sure
that all containers get killed, but we have seen that a few containers
have been running for a few months. One reason for this could be
temporary loss of connection between the jenkins server and the node
running the job.

Extend the clean script to remove the containers that were not properly
removed by the clean up trap.

Historically we used to kill docker containers of the same name before
starting a testsuite, but this had the downside that we could not start
the same testsuite multiple times in parallel. This was refactored in
docker-playground Ifcd384272c56d585e220e2588f2186dc110902ed.

Change-Id: I58c17b57c998eaba411658e83b7295d7cfcf9a23
The file was modified scripts/docker-cleanup.sh
Commit 9b9b2a2780f0c8703c9293cf85e1c18f761f0c66 by Pau Espin Pedrol
jobs/gerrit-verifications: Add osmo-epdg

Change-Id: I84accfc5065ed2e780c4ecb77885af61bc6fb72f
The file was modified jobs/gerrit-verifications.yml
Commit 3f037f4a73e30747dc991270262d51b1ea06fe02 by Oliver Smith
obs: srcpkg.py: Run generate_build_dep.sh for all projects

Adjust srcpkg.py to run a generate_build_dep.sh not only for
osmo_dia2gsup, but for any Osmocom project that has such a script. This
is in preparation for osmo-epdg, which will also have one.

Change-Id: Icd9dc734ec938398668640f77ec83aae4a1ee0f4
The file was modified scripts/obs/lib/srcpkg.py
Commit 325162a1fee6de00c99a8eb7af042329f7b8f7a0 by Oliver Smith
obs: add erlang/osmo-epdg to projects_osmocom

Change-Id: I5c5537e2d96752cb68fb251552bd444a9abf8cd1
The file was modified scripts/obs/lib/config.py
Commit 76a67bc8d74b08feb5570a577ff22212fcdc4c75 by Oliver Smith
obs: Fix typo in log line informing variable to be modified

Change-Id: I381f30ad2443bbd86a23d2808a5f8e3c650953b7
The file was modified scripts/obs/lib/__init__.py
Commit f8e2ee24edf9abb581cb609a904d63313582c028 by Oliver Smith
obs: srcpkg: support having no git tags

Instead of failing when a project has no git-version-gen script, and no
git tags, use 0.0.0 as version. This is needed for the new osmo-epdg
project, which doesn't have tags yet.

Change-Id: I2f0f409feb96611095dfa511a33ea730e5bbf3e4
The file was modified scripts/obs/lib/srcpkg.py
Commit 193e2a4ce658223d0ba6f670c2fe634aae286cb2 by Oliver Smith
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
The file was modified jobs/master-builds.yml
Commit 2e809f463789f4dd444c6fed31c944a72c728766 by Oliver Smith
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
The file was modified jobs/master-builds.yml
Commit 15777116dd4942c47ca7c8f22a4801d2c4a3fb0e by Oliver Smith
obs: build_binpkg: no network during build

Simulate that we don't have network during package builds in gerrit
verifications, like it is the case when the packages will be built by
OBS.

I've also considered using network namespaces via "unshare -n" or
bubblewrap, but it wouldn't be possible to create a loopback device
inside the network namespace inside docker (maybe with --privileged, but
not worth it) and e.g. the osmo-mgw tests rely on lo.

Depends: osmo-epdg I2bb0b5f608cd5d9a24c2a367425c524447bd002c
Change-Id: I00282552e9988d66fdc269c6230f0e1432ace360
The file was modified scripts/obs/data/build_deb.sh
The file was modified scripts/obs/build_binpkg.py
The file was modified scripts/obs/data/build_binpkg.Dockerfile
The file was modified scripts/obs/data/build_rpm.sh
Commit 35a1155a42e4401f8116d19ed50d8f7ae1c16646 by Pau Espin Pedrol
jobs/ttcn3-testsuites.yml: Add ttcn3-hss-test-ogs

Related: SYS#6588
Change-Id: Ic98a5a22b2c10b32052e613d0a46fbc7640c60d9
The file was modified jobs/ttcn3-testsuites.yml
Commit 975edb5099109395f26244c54a8d8b49c63a10cd by Oliver Smith
ansible: ttcn3: install netcat-openbsd

Make nc available on jenkins nodes running ttcn3 tests, as it is now
used by ttcn3-hss-test-ogs.

Related: docker-playground Iebeefd9689ae2efa54678b99ff929ca255ec64d1
Change-Id: I397d4fe33813b083b61cdabb1d00ab4ea63a456b
The file was modified ansible/roles/osmocom-jenkins-slave/tasks/ttcn3-slave.yml
Commit 81b714b636dcd1bfdd8162f39e7ad7053b409c21 by Oliver Smith
ansible: hosts: remove gtp0-deb(10,11)build

Remove nodes that don't exist anymore according to:
https://jenkins.osmocom.org/jenkins/computer/

Change-Id: I8e8ae59d4e4c8be85bba527ac89cce04b15fcaea
The file was modified ansible/hosts
Commit 45de5a99d9b719726c2cb5634853b9bdea39d62f by Oliver Smith
ansible: known_hosts: update

After deploying with ansible to the jenkins nodes, these entries were
added.

Change-Id: I3e3841d9f1f5581067b7dd90cdfcaf8337700e6f
The file was modified ansible/util/known_hosts
Commit 7be78df106bf810fde0ba38da219913228256b8d by Pau Espin Pedrol
jobs/ttcn3-testsuites.yml: Add ttcn3-epdg-test

Related: OS#6204
Change-Id: I4b566c1e767c7a6d6cb474a257b0a2632a2afe92
The file was modified jobs/ttcn3-testsuites.yml
Commit 89c0b50a08d45eed26ee0883a0054b40ee54df38 by Oliver Smith
ansible: hosts: add build4-deb12build-ansible

Related: OS#6186
Change-Id: Ia4ce2ab074941dda6b7c820673108d19d4136664
The file was modified ansible/util/known_hosts
The file was modified ansible/hosts
The file was addedansible/vars/Debian-12.yml
Commit 7d90d5b17f424e9580fdd1a70bd2595bb8d16cfa by Oliver Smith
ansible: jenkins: debian: remove qemu package

This is a dummy package that isn't available anymore in debian 12.

https://packages.debian.org/buster/qemu says:
> This package can safely be removed.

We install qemu-user-static and qemu-system-arm, which contain qemu
binaries.

Related: OS#6186
Change-Id: I4d5bd376b1e370d9636b9a2e9e710f5f20b9ae98
The file was modified ansible/roles/osmocom-jenkins-slave/tasks/debian.yml
Commit 119bc1f44a9de92254e7052ce309fd32388af2ec by Oliver Smith
ansible: jenkins: use default-jre-headless

Use default-jre-headless instead of giving the openjdk version, so we
don't need to adjust it to whatever the current version in debian is.

The default-jre-headless package is at least available since debian 10:
https://packages.debian.org/search?suite=buster&arch=any&searchon=names&keywords=default-jre-headless

Related: OS#6186
Change-Id: I6c5c74ff3d75dca2f89765d95c4b4c6d67ace703
The file was modified ansible/roles/osmocom-jenkins-slave/tasks/debian.yml
Commit 6d4b0effa615d36364bf27d943057258656ea684 by Oliver Smith
jobs/update-osmo-*: add build4-deb12build-ansible

Related: OS#6186
Change-Id: I1f732718df87ed3b850332dbf1a7f6b2f854f280
The file was modified jobs/update-osmo-ci-on-slaves.yml
The file was modified jobs/update-osmo-python-on-slaves.yml
Commit 7edd780403be5740ce30e5550591b7b39a77dedf by Oliver Smith
ansible: jenkins: debian: sort packages

Related: OS#6186
Change-Id: If4ce784821cc40a2e795afafa452c99bf0588253
The file was modified ansible/roles/osmocom-jenkins-slave/tasks/debian.yml
Commit 367f550da94feb5fca61cd24a29dca0e99ac628d by Oliver Smith
ansible: jenkins: debian: add more packages

Add python3-setuptools, as it is needed to run the
update-osmo-python-on-slaves jenkins job.

Add bc, as it is needed in docker-playground.git's network_create() in
jenkins-common.sh.

Related: OS#6186
Change-Id: I1ff0711b7b29ba4dc78f51f257b986d7a0994a96
The file was modified ansible/roles/osmocom-jenkins-slave/tasks/debian.yml
Commit 4e3b7babda4159bd9f460e64d7328c7ac2544c27 by Oliver Smith
ansible: qemu: netcat -> netcat-openbsd

Make the ansible rule compatible with debian 12. The same package is
already in debian 11 and debian 10.

Fix for:
  E: Package 'netcat' has no installation candidate

Change-Id: Idcc90ad7a2a104a9b4f5a76c6c89d74604651530
The file was modified ansible/roles/qemu/tasks/main.yml
Commit a498ca6f2a5eba790f90fa80cf4aef2a13230b30 by Oliver Smith
scripts/tarballs: add osmo-e1-recorder

Closes: OS#6228
Change-Id: I6bd8387f99c258226125b33705645c43aadd875f
The file was addedscripts/tarballs/install-depends.sh
The file was modified .gitignore
The file was modified scripts/tarballs/publish-tarballs-for-tags.sh
Commit 4e0a34b26e5e02e88d19337fb32cd2609197e620 by Oliver Smith
scripts/common: osmo_git_last_commit…: add vars

Add variable names for $1, $2, $3 so the logic is easier to follow.

Related: OS#6227
Change-Id: I7abbcefc8d5bd4c5b84c30a7e38ca3dcb855dd56
The file was modified scripts/common.sh
Commit 5597e82d55945b7798aff0a30e11dd0019ea129d by Oliver Smith
scripts/tarballs: add gapk

Closes: OS#6227
Change-Id: I6f26b6f5953701b383acb3b93058b66a286f7989
The file was modified scripts/tarballs/publish-tarballs-for-tags.sh
The file was addedscripts/tarballs/prefer-configure.sh
The file was modified scripts/common.sh
Commit 7fbb49f87d2ab4f320fe4896e04c2b79e9aa508b by Oliver Smith
scripts/tarballs: add osmo-fl2k, rtl-sdr

Closes: OS#6226, OS#6225
Change-Id: Idff299c65902b6818e409a409a3d303e8fccc4f9
The file was modified scripts/tarballs/publish-tarballs-for-tags.sh
The file was modified scripts/common.sh
Commit 48b3edb0ccaaf80f20f574956495e9f59c633165 by Oliver Smith
scripts/tarballs: create release dir if missing

Fix for:
rsync: [Receiver] change_dir#3 "/downloads/home/releases/web-files/gapk" failed: No such file or directory (2)

Change-Id: I46310d633302028d486dd356147c9c4f35b24940
The file was modified scripts/tarballs/publish-tarballs-for-tags.sh
Commit a779121725e2080174a128c1d1af0296e1870f61 by Oliver Smith
scripts/repo-install-test: fix sftp compat

When running scp, Debian 12 uses the SFTP protocol by default instead of
the legacy SCP protocol. For some reason, this means it doesn't create
the /repo-install-test directory inside QEMU:

  + … scp … -r scripts/repo-install-test root@127.0.0.1:/repo-install-test
  Warning: Permanently added '[127.0.0.1]:22793' (ED25519) to the list of known hosts.
  scp: realpath /repo-install-test: No such file
  scp: upload "/repo-install-test": path canonicalization failed
  scp: failed to upload directory scripts/repo-install-test to /repo-install-test

Changing to the legacy protocol with "scp -O" would make it work again,
but instead of doing that add the mkdir so it works with the new
protocol too.

Related: OS#6186
Change-Id: I740affad2ea794094c8faa89a89bcad094e0075d
The file was modified scripts/repo-install-test.sh
Commit 3d2c3dd14cdccb35c27ee1766e00fd71868ca36f by Oliver Smith
scripts/repo-install-test: fix sftp compat, part 2

Copy files inside repo-install-test, instead of copying the directory
again. Otherwise it creates a /repo-install-test/repo-install-test/ path
inside qemu and then fails to run the script inside the directory:

Fix for:
  sh: 0: cannot open /repo-install-test/run-inside-env.sh: No such file

Fixes: a7791217 ("scripts/repo-install-test: fix sftp compat")
Change-Id: I04d8c0e0fd31ee5d2a0912300dc93f5339bbef11
The file was modified scripts/repo-install-test.sh
Commit b59c791d1367f924ad9f57b69f576c95fc5dbf2a by Oliver Smith
scripts/tarballs: gapk > v1.0: use make dist-bzip2

Use autotools logic to build tarballs for gapk above version v1.0.

Related: OS#6227
Change-Id: If9a04b458553e311cf8b891b204244db2b1ae2d8
The file was modified scripts/tarballs/prefer-configure.sh
Commit b365c1df68b12be9abe8c4edd65f63983cf42917 by Oliver Smith
scripts/tarballs: gapk: add install depends

Now that we run ./configure before building the tarball, make sure the
dependencies are installed.

Related: OS#6227
Change-Id: I82eb0a87f6e294fb258003ebe76f850a99952938
The file was modified scripts/tarballs/install-depends.sh
Commit 867f2d28fd7edb2fbfa45c7f51a7273ccc4b5ed1 by Oliver Smith
OBS: add workaround for limesuite 23.10 release

The previous workaround for building on debian 12 is not needed anymore,
as the related patch has been merged. Replace it with a new workaround
needed for building the limesuite 23.10 release.

Change-Id: I569642ebb13ac3eb3e241642e299be0a0a2ab15d
The file was modified scripts/obs/lib/srcpkg.py
Commit 25f74d3d51bcab67ed94e06765d9ec539ccba29e by Oliver Smith
Update git tag patterns for rtl-sdr, osmo-fl2k

With the v2.0.0 release of rtl-sdr, it was decided to include the v in
the tag pattern again, so adjust it in the related scripts. Adjust
osmo-fl2k too in the OBS scripts because there the tag pattern was not
set.

Change-Id: If1bb64722bd24b0079d2427ea3b0f5b5c87ef7ac
The file was modified scripts/obs/lib/config.py
The file was modified scripts/common.sh
Commit 8ba48eb28a7b0631dd4f3539c815ffb7d80de122 by laforge
repo-install-test: fix ca-certificates-java error

The repo-install-test started to fail on debian 10 with the following
error. Apparently this happens when installing ca-certificates-java
after installing java. Add a workaround.

  Setting up ca-certificates-java (20190405) ...
  head: cannot open '/etc/ssl/certs/java/cacerts' for reading: No such file or directory
  Exception in thread "main" java.lang.InternalError: Error loading java.security file

Change-Id: I00b9c97d9d85fb37ba33a48caa732cd50de99683
The file was modified scripts/repo-install-test/run-inside.sh
Commit a9e9c366b1bcf93acc92cc56dff0dacae8307ed6 by laforge
repo-install-test: ignore limesuite-images

Don't attempt to install limesuite-images. It runs a post-install script
that downloads files from an external server and fails currently, as
there are no images for 23.10. While we have limesuite-images packages
in our OBS repository, this is just a side-effect of building limesuite.
What we are really interested in is liblimesuite for osmo-trx, as I
understand.

Add --no-install-recommends to the apt-get install line in
install_repo_packages_debian, because the main limesuite package has
limesuite-images in recommends and would pull it in otherwise.

Change-Id: I237408c805977c831f352a57a301ea45753d1ac1
The file was modified scripts/repo-install-test/run-inside.sh
The file was modified scripts/repo-install-test/blacklist_debian11.txt
The file was modified scripts/repo-install-test/blacklist_debian10.txt
The file was modified scripts/repo-install-test/blacklist_debian12.txt
Commit 88d62e3c6966189b1cccacfdf7033a7d13c261d0 by Oliver Smith
tarballs: add osmo_dia2gsup

Change-Id: I9cbd3d3ce27a4b4c9c8e19b2876386d170d4f0a6
The file was modified scripts/common.sh
The file was modified scripts/tarballs/publish-tarballs-for-tags.sh
Commit 0c79a15162b067822f561259e8b35fafbac286ac by Oliver Smith
tarballs: git archive: put files in directory

Make the releases created from the "git archive" code path more similar
to the autotools releases, by having all files in a subdirectory with
the project name and tag name instead of having them directly in the
root of the tarball.

  $ tree osmo_dia2gsup-0.1.1 | head
  osmo_dia2gsup-0.1.1
  ├── build_dep.tar.gz
  ├── contrib
  │   ├── generate_build_dep.sh
  │   ├── jenkins.sh
  │   └── systemd
  │       └── osmo_dia2gsup.service
  ├── debian
  │   ├── changelog
  │   ├── compat

Change-Id: If37dcdc04278de0d4479cf72e0ca33c90b7deea8
The file was modified scripts/tarballs/publish-tarballs-for-tags.sh
Commit 38707a473cea49f39c815ac8bab1864dc11cd9dc by Oliver Smith
tarballs: git archive: make proper tar.bz2

Compress the tarball from "git archive" with bzip2 to turn it into a
proper .tar.bz2. Previously the archive was named .tar.bz2, but it was
just a regular tarball as git archive didn't guess the type from the
filename (supposedly this works for .tar.gz and some others) and just
defaulted to tar.

Move the code that adds build_dep.tar.gz to the archive before the bzip2
call, because tar can't add files to the archive if it is compressed.

Change-Id: I5830f9123150540a6467c19c64461d2fa1972a52
The file was modified scripts/tarballs/publish-tarballs-for-tags.sh
Commit 0afdbcf8bd96e77bd233b31e2d089a175f89f7ab by laforge
obs-mirror: keep nightly builds for two years

As we're moving the archive to a machine with sufficient storage,
let's extend the time we keep an archive of nightly builds from
one month to two years.

Change-Id: Ic8529ee5679f15c4e4940a5f095374605c2e5c79
Related: OS#6257
The file was modified contrib/obs-mirror/rm-old-nightly-archives.sh
Commit 26ae81f6bda752560d1093af7bcb166037df011f by laforge
obs-mirror: rsync over from remote server via rsync

We no longer run the archive on the same machine/lxc as the normal
downloads server

Change-Id: Id490690394db9eb773f945ad4d7e65fe7fd5e17a
Related: OS#6257
The file was modified contrib/obs-mirror/obs-mirror.sh
Commit ced38b31bc6ec6d0883ee016c824c9789f7217f5 by laforge
obs-worker: support more recent opensuse versions

We don't want to install new builders with 15.3, and the playbook
should just detect the installed version rather than making assumptions

Change-Id: I96f9896c0eeab120633d5800198d8b93371f7a5a
The file was modified ansible/roles/osmocom-obs-worker/tasks/obs.yml
Commit f61843c0e8f38a4c537490d41ef1fece7f7e296f by laforge
hosts: Add build4-obsworker

Change-Id: I0c663fa281042aa98822d27a67add8ba07dca172
The file was modified ansible/hosts
The file was modified ansible/util/known_hosts
Commit 506e58eb5be7a0a785bf7dd5b8ff2055e7424af5 by laforge
ttcn3-slave: Install sudo

The sudo tool is required by the ansible 'become_user' used later in ttcn3-slave.yml

TASK [osmocom-jenkins-slave : ensure jenkins folder exists] *******************************************
fatal: [lx2-raspbian11build-ansible]: FAILED! => {
    "changed": false,
    "rc": 127
}

MODULE_STDOUT:
/bin/sh: 1: sudo: not found

Related: OS#5873
Change-Id: I2d50ef2dee8e060ff4f84810f2bba62d4801d638
The file was modified ansible/roles/osmocom-jenkins-slave/tasks/ttcn3-slave.yml
Commit a05542cf58b25c9a470c1ce02c57f91a768d3d9c by laforge
ansible/jenkins-slave/osmo-ci: Install 'make' required for osmo-ci

TASK [osmocom-jenkins-slave : rebuild osmocom docker images for jenkins build tests] ******************
fatal: [lx2-raspbian11build-ansible]: FAILED! => {
    "changed": true,
    "cmd": "./scripts/osmo-ci-docker-rebuild.sh",
    "delta": "0:00:04.129667",
    "end": "2023-11-18 14:09:52.142684",
    "rc": 1,
    "start": "2023-11-18 14:09:48.013017"
}

STDERR:

+ make -C ../debian-bookworm-build-arm BUILD_ARGS=--pull UPSTREAM_DISTRO=debian:bookworm DISTRO=debian-bookworm IMAGE=osmocom-build/debian-bookworm-build-arm OSMO_TTCN3_BRANCH=master
./scripts/osmo-ci-docker-rebuild.sh: 203: make: not found

Change-Id: I785e4224e729accec15beaa3aef8e01f12624d9d
The file was modified ansible/roles/osmocom-jenkins-slave/tasks/osmo-ci.yml
Commit b301da1369c6c142f9548ef609d6f797be09bf4a by laforge
ansible: add raspbian11build container on lx2 machine

Change-Id: I739e40cf6ef8d77585dfeb067ed75e258d94bbb3
Related: OS#5873
The file was modified ansible/hosts
The file was modified ansible/util/known_hosts
Commit a13ce691d1c271c4e100fbee83e35af4b700d27e by laforge
scripts/docker-cleanup: buildkit cache too

In newer docker versions, a buildkit cache was introduced. It gets used
while building images. Clean it up as well.

Related: https://osmocom.org/projects/osmocom-servers/wiki/Docker_cache_clean_up
Change-Id: Icf5237def75d4bcef6b0065f3f1f1da2ff362322
The file was modified scripts/docker-cleanup.sh
Commit de1651b1bf86d359fb8c2ed39c26de0a95723235 by dwillmann
scripts/obs: Add -M/--no-meta option to avoid depending on osmocom-*

This is useful for testing one-off dev packages

Change-Id: Id18c75de559c9ba29efd38d8510f2db3206c4209
The file was modified scripts/obs/lib/__init__.py
The file was modified scripts/obs/lib/srcpkg.py
Commit 2031b3d747d8d1bb952a6d565aea104a6d1ae315 by Oliver Smith
repo-install-test: update package filtering logic

Instead of filtering with several blacklist_* files that must contain
the exact names of packages to be filtered, add a shell function that
uses fnmatch for filtering. Combine all lists into one.

This fixes the error we get with each limesuite release, without the
need to increase the version in the txt files every time. Currently the
repo-install-tests are failing for all debian versions because of this.

Change-Id: I6745b10804685119d68b089f129ec9b0cde8cdf5
The file was removedscripts/repo-install-test/blacklist_centos8.txt
The file was removedscripts/repo-install-test/blacklist_debian11.txt
The file was removedscripts/repo-install-test/blacklist_debian12.txt
The file was removedscripts/repo-install-test/blacklist_debian10.txt
The file was modified scripts/repo-install-test/run-inside.sh
Commit c4ee740d57d283ae76dd1f3ae9497c9e926642a0 by Oliver Smith
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
The file was modified jobs/gerrit-binpkgs.yml
The file was addedjobs/gerrit-verifications-parameters.yaml.inc
The file was modified jobs/gerrit-verifications.yml
The file was modified jobs/gerrit-verifications-comment.yml
The file was modified jobs/gerrit-lint.yml
Commit 046a284e83116722ab7549e53e9e0b25be2f76f3 by Oliver Smith
jobs/osmocom-obs-sync: add newest Ubuntu, Raspbian

Related: OS#6163
Change-Id: I459bd48b50d80fcd07837377e19e89df21d6c328
The file was modified jobs/osmocom-obs-sync.yml
Commit 5db0807a64f70e75af8c5e7d2e050930a1062e5e by Oliver Smith
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
The file was modified jobs/gerrit-verifications.yml
Commit 6b136f74d18a243b79fe01cc9ce2f345aae99751 by Oliver Smith
OBS: lib.osc.get_projects: print apiurl

Print the apiurl, to make more obvious what is going on when running the
function twice in a row with two different apiurls (as done in the next
patch).

Change-Id: I789d12ce59ff14f526ab0334e78a6b22a063ec06
The file was modified scripts/obs/lib/osc.py
Commit 11f9724c3992a0a1c920c5b103cff0a5095c5303 by Oliver Smith
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
The file was modified jobs/README.adoc
The file was addedjobs/osmocom-obs-check-new-distros.yml
The file was addedscripts/obs/check_new_distros.py
The file was modified scripts/obs/lib/config.py
Commit e4cb0649ef8f327a764e1f7032a6145f7eb6d128 by Oliver Smith
README: update and convert to markdown

* Describe all directories
* Update the text slightly
* Convert to markdown, so it shows up formatted at:
  https://gitea.osmocom.org/osmocom/osmo-ci

Change-Id: I9735eb30cf7260d211d5ea4da83ad09d31c93593
The file was removedREADME.adoc
The file was addedREADME.md
Commit 6c75241d15dd534566e5b690acda5821d1ddb63d by Oliver Smith
README: document how to upgrade coverity

Change-Id: I551df9f36112f34cf76d0247f1ebc1e58ae0a896
The file was modified README.md
Commit 39dd96b39074d42153616522015958b8dcccd188 by Oliver Smith
coverity: upgrade to 2023.6.2

Change-Id: I91f087fa3b39e1e0bc48739f92c4c23b3c0aa34f
The file was modified ansible/roles/install-coverity/defaults/main.yml
Commit 1fc751429621810c78122c418dd8e2fc7db295d7 by Oliver Smith
ansible: fix updating /opt/coverity/current

Remove the previous /opt/coverity/current symlink, before creating the
new one. Otherwise the new symlink would be created inside "current"
pointing at the old version, instead of replacing "current" with the
new symlink.

  # ln -svf /opt/coverity/2023.6.2/* /opt/coverity/current
  '/opt/coverity/current/cov-analysis-linux64-2023.6.2' -> '/opt/coverity/2023.6.2/cov-analysis-linux64-2023.6.2'
  # readlink /opt/covervity/current
  /opt/coverity/2022.06/cov-analysis-linux64-2022.6.0

Add the verbosity flag to the command while at it.

(The glob is unrelated, why it is needed is described in
I2b96d1e47f2697706a042937b2852f0fc5032a7b)

Related: SYS#6685
Change-Id: I4ecb4997829b3cc61c839d089bda44f821ca8b85
The file was modified ansible/roles/install-coverity/tasks/main.yml
Commit 0bdf874252f8b1067053fe4bbf43485db59156e1 by Oliver Smith
coverity: readlink /opt/coverity/current

Show where the symlink points at the start of the job, so we can see
which coverity version is currently installed.

Related: SYS#6685
Change-Id: If4a7c71759a6eb436eb47024565f169c6134e2e2
The file was modified coverity/jenkins.sh
Commit 4cf490967c3e3e7c8f7fe3dee8f3fc970b007c4d by Oliver Smith
coverity: add job to check for failed uploads

Related: SYS#6685
Change-Id: Ideabcb30f9f8f365acff2de7751eb74a2762a7a6
The file was addedcoverity/badge_status.sh
The file was modified jobs/README.adoc
The file was addedjobs/coverity-status.yml
Commit 0e2604dae0f5cf13c3697784279dee5d624c7b84 by Vadim Yanitskiy
coverity: build osmo-hnbgw with '--enable-pfcp'

This should improve the analysis depth for osmo-hnbgw.

Change-Id: I33b44a1c2ffde80b000b41b78569ff2f55bc98ed
The file was modified coverity/build_Osmocom.sh
Commit a9c93850c35e3bac01b6d58e6c00df0e83806617 by Oliver Smith
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
The file was modified jobs/osmo-gsm-tester-runner.yml
The file was modified scripts/docker-cleanup.sh
Commit 33ddf03dfefd3844328b803cbe96bad513b7bc37 by Oliver Smith
OBS: srcpkg Dockerfile: add lsb-release, quilt

Wireshark with Osmocom patches on top of wireshark.git master failed to
build. I've reworked the packaging to use the "debian" dir from upstream
instead of having our own (now outdated) copy:
https://gitea.osmocom.org/osmocom/wireshark/commits/branch/osmith/deb-packaging

Add the additional dependencies that are now required to build the
wireshark source package to the Dockerfile.

Related: OS#2537
Change-Id: I82f64de70b9d099ac404530ca74c771d66b306d8
The file was modified scripts/obs/data/build_srcpkg.Dockerfile
Commit 235508927ff9711022336316997ceb13648b90d3 by Oliver Smith
jobs/ttcn3: remove 2023q1 testsuites

Related: SYS#6759
Change-Id: I97fd1b98b1515c320a297aac429007cc500e7e29
The file was modified jobs/ttcn3-testsuites.yml
Commit 92b50a5a6bdf1d42f94715d1ad329453a4fa76b8 by Oliver Smith
jobs/update-osmo-ci: remove build3

Related: OS#6186
Change-Id: I63bbac0a767c30f8d3e4552024172bd689122d61
The file was modified jobs/update-osmo-ci-on-slaves.yml
Commit de102c44c3579e1333ea17fd2fcf4d9774fc42ef by Oliver Smith
jobs/osmocom-obs-sync: remove Ubuntu 23.04, Debian Testing

Related: OS#6163
Change-Id: Ief01182755688b2a16fc3ef272601e93d4a25ba1
The file was modified jobs/osmocom-obs-sync.yml
Commit b997fa98b22b4ee6a6defeb737bc56444c910d13 by Oliver Smith
jobs/gerrit-verifications: remove almalinux8

Related: https://osmocom.org/news/246
Related: SYS#6759
Change-Id: Ia180ac87251c39d9715276cf23a2663fb917f50a
The file was modified jobs/gerrit-verifications.yml
Commit da996062364f0e2b1a065a5014ef18651a7b4327 by Oliver Smith
jobs/repo-install-test: remove centos8

Related: https://osmocom.org/news/246
Related: SYS#6759
Change-Id: I311ccfe61b86e467996022107294ad560eee8bdf
The file was modified jobs/repo-install-test.yml
Commit cfaf536f5e6349753e18b2e64acfd611b063d4e2 by Oliver Smith
jobs/ttcn3-testsuites: remove centos8

Related: https://osmocom.org/news/246
Related: SYS#6759
Change-Id: I4142c5ababb85b74a890a0cbfc302bd15d44268e
The file was modified jobs/ttcn3-testsuites.yml
Commit 5d1216f76ac8d980946823847cc4715c4586f112 by Oliver Smith
jobs/registry-update-base…: remove almalinux8

Related: https://osmocom.org/news/246
Related: SYS#6759
Change-Id: If921a5844ce602a7bda84b9e4d1507796c10948f
The file was modified jobs/registry-update-base-images.yml
Commit e2f71fdcf3e27943ce1a67972d10d96cc9278bb8 by Oliver Smith
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
The file was modified jobs/gerrit-verifications.yml
Commit 61723f812cdfc6cea3d22bc0ef448f9b07dab6ae by Pau Espin Pedrol
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
The file was modified jobs/ttcn3-testsuites.yml
Commit a0b7b49813288e11829af0f3261caee2ebc35ae4 by Oliver Smith
lint: ignore LICENSE* and COPYING*

Fixes: OS#6397
Change-Id: I859e9d7fdff5eeb86c24947031522a8123830f0c
The file was modified lint/checkpatch/checkpatch_osmo.sh
Commit bae98f4f35ae1068483228ab4416960578f01f4f by Oliver Smith
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
The file was modified jobs/ttcn3-testsuites.yml
Commit 4d06b21410a2d711774b4596b39ca7ab4e39d0cb by Oliver Smith
ttcn3: add ttcn3-stp-test-io_uring

Related: OS#6357
Change-Id: I996dee2f9ce27fcdd8771fa22379aa606192824d
The file was modified jobs/ttcn3-testsuites.yml
Commit 467a96c28115352b0af9500f46b58658f6767ad5 by Oliver Smith
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
The file was modified jobs/ttcn3-testsuites.yml
Commit 65005ed338b3be61bfcac2ffde9667c83c6ef0e2 by Oliver Smith
jobs/gerrit: build for debian 12: gapk, osmocom-bb

Related: OS#6409
Change-Id: Ib48d90af734e627aa4760af6423481970626d501
The file was modified jobs/gerrit-verifications.yml
Commit f0cff7161be574308410e33c788ca80a0ebe91ee by Oliver Smith
OBS: add gapk, osmocom-bb

Related: OS#6409
Depends: osmocom-bb I3713201233e13fca5ea4e0b8c4df913c787965f5
Depends: gapk I8e9d42fc332c5d426b9074c6bc58bc6efe037fea
Change-Id: Ifd84479f97fe17de35a5f409c8fabadd3bf5c272
The file was modified scripts/obs/lib/config.py
Commit 642635a3af41058e47a261c684845325eaca095d by Oliver Smith
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
The file was modified jobs/ttcn3-testsuites.yml
Commit cd0de5983124a23bb8c8f85651a8a1bfba317a6b by Oliver Smith
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
The file was modified jobs/gerrit-verifications.yml
Commit 3cf8a0e792c1266ebf5ba8c1221c2127ae100993 by Oliver Smith
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
The file was modified jobs/ttcn3-testsuites.yml
Commit c1fe54aaf884549a3831b83848fb3cf8c5d24bbf by Oliver Smith
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
The file was addedjobs/osmocom-obs-ewild.yml
Commit 36cd8c53a6c750503b6c50a67df995e1ada11f7c by laforge
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
The file was modified jobs/master-builds.yml
Commit 31fd5cf020baae3c33adb3cc23632ccd59c4456e by laforge
gerrit-verifications: execute 'distcheck' job for pysim

Change-Id: I9d4d9e9de2b16a4b745791f3c9c93507f43bfa6d
Related: pysim.git Ic72d58494e8fd0cab8d66ce60f7b70593b770872
The file was modified jobs/gerrit-verifications.yml
Commit b5a1b009b7f71fd6829c3270c6c9d1a1dc822a88 by Oliver Smith
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
The file was modified jobs/ttcn3-testsuites.yml
Commit a59c9257b431a22e6320f55a1faa4504c869e46e by Pau Espin Pedrol
jobs: ttcn3-testsuites.yml: Add job ttcn3-asterisk-ims-ue-test

Related: SYS#6782
Change-Id: I06de12224399bbddc27649b7d52a6194faec07c4
The file was modified jobs/ttcn3-testsuites.yml
Commit ebf4df3242b99fdbb8a3796b8cbdfa1d13ee4d69 by Oliver Smith
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
The file was modified jobs/ttcn3-testsuites.yml
Commit 29a41d387eb6f078a70c463b0ae80db38ffa8db5 by Oliver Smith
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
The file was modified jobs/ttcn3-testsuites.yml
Commit afd9d56e0568a61d0b2de010f710baffb71bff25 by Oliver Smith
checkpatch: recognize json_array_foreach etc.

Treat json_array_foreach, json_object_foreach, json_object_foreach_safe
etc. the same as if, while, for, switch, and require exactly one space
after using it:

json_array_foreach (nftables, i, item) {

}

Related: osmo-hnbgw Id4e7fa017c31945388a010d8581715d71482116b
Change-Id: I0b58c6d70a961c7d0ba93a2f0d6a5a4afa321fa9
The file was modified lint/checkpatch/checkpatch.pl
Commit a307c7df718af05d978a65cd96a51138fb1b4d31 by Oliver Smith
jobs/gerrit,master: osmo-hnbgw: add nftables var

Build with and without nftables.

Related: OS#6425
Change-Id: I9828b70708dbe466c37df6ffb87b04362f14c71c
The file was modified jobs/master-builds.yml
The file was modified jobs/gerrit-verifications.yml
Commit 6a83362344b71c910600cb5a2d22f38b59896573 by Oliver Smith
jobs/osmocom-obs-sync: add Ubuntu 24.04

Change-Id: I79a6fe1fb65a7245ab38674764953468fab91d6b
The file was modified jobs/osmocom-obs-sync.yml
Commit 2194146d94600aff8dc165b9161f14346d00f878 by Oliver Smith
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
The file was modified jobs/osmocom-obs-sync.yml
Commit 2e95fe4f681fe41ba6523456aa29375aa38ac9c9 by Oliver Smith
jobs/ttcn3: run io_uring testsuites on all nodes

After most recent patches from Pau were merged, the io_uring testsuites
run on all jenkins nodes with the ttcn3 label again!

host2-deb11build-ansible has an older host kernel and needs ulimit
memlock increased to 1 GB. I've tried out e.g. 500 MB and it isn't
enough.

Closes: OS#6405
Change-Id: I59b9a7c3928281a0557c17629029adcbc5ae7410
The file was modified jobs/ttcn3-testsuites.yml
Commit 0cc68159f632e4320054290df3baeee517cda71a by Oliver Smith
jobs/ttcn3: io_uring: set memlock to unlimited

io_uring in the kernel memlocks a big amount of space with older
kernels, such as the kernel on host2-deb11build-ansible. It seemed to be
enough to increase it to 1 GiB. However now we see it failing again
with:

  failure during io_uring_queue_init(): Cannot allocate memory
  Aborted (core dumped)

Set it to unlimited to ensure that a low limit is not the reason we see
it failing. If it still happens after this, we probably need to make
sure that we don't run too many SUTs with io_uring in parallel on
jenkins nodes with older kernels.

Related: OS#6405
Change-Id: I39aaa2ed7d0310a12d0c4493a79ff46b2e7e2864
The file was modified jobs/ttcn3-testsuites.yml
Commit 0c3634e7f9cb9f68a9c9ccdea866b5b9810edc56 by Vadim Yanitskiy
jobs/ttcn3: add ttcn3-sgsn-test-sns[-latest]

Change-Id: Iefd81a081fa29af35fc7d575ea23e464c165dbc7
Depends: docker-playground.git I767ec223585002d6420eda27ed338722f764c902
The file was modified jobs/ttcn3-testsuites.yml
Commit ec9efbf6494a1bad8a16f0c5b33f878a62822500 by Oliver Smith
repo-install-test: centos8: fix almalinux keys

Run "dnf upgrade almalinux-release" inside centos8/almalinux8 to upgrade
the gpg keys first, in order to prevent gpg key errors while installing
packages. We are not running repo-install-test for centos8 in CI anymore
(SYS#6759), but I'm currently using this configuration to manually test
that fixing permissions during upgrade and running systemd services as
users works as expected on an rpm-based system.

Related: OS#4107
Related: https://almalinux.org/blog/2023-12-20-almalinux-8-key-update/
Change-Id: Ia06d24ce7ce48651f5a41489e78b5b55dc2d3921
The file was modified scripts/repo-install-test.sh
Commit b2e128511d5aeae1eb27a7465197012fac643da2 by Oliver Smith
OBS: move gerrit-binpkgs logic to separate script

As I'm preparing slides for a OsmoDevCon talk, I'm realizing that it is
quite cumbersome for users to build debian packages from Osmocom git
repositories (the same way gerrit does it, to reproduce errors locally).

Move the logic from the gerrit-binpkgs job to a separate script that can
be run from an Osmocom git repository, will figure out the repository
name from there and only needs the target distribution as argument.

Usage example:
  $ git clone https://gitea.osmocom.org/osmocom/osmo-ci
  $ cd libosmocore
  $ ../osmo-ci/scripts/obs/gerrit_binpkgs.sh debian:12  # or debian:11, debian:10, almalinux:8

Change-Id: I100d8dfc0c58bdafe7efb0fa4108031ce10398a5
The file was modified scripts/obs/README
The file was addedscripts/obs/gerrit_binpkgs.sh
The file was modified jobs/gerrit-binpkgs.yml
Commit 7224e5b28566329770526a20a464c6354179580d by Oliver Smith
jobs/update-osmo-python: remove build3

build3 does not exist anymore, but it was still referenced here, leading
to the job waiting forever until build3 comes online.

Related: OS#6186
Change-Id: Idba77a3b9595c234ee21dfd1d0e267021a17bb03
The file was modified jobs/update-osmo-python-on-slaves.yml
Commit ef2d95d0a298da20043e3ec37f343c6661eedb01 by Oliver Smith
ttcn3-bsc-test-io_uring: limit jenkins nodes again

Run this job only on jenkins nodes with a linux kernel of 6.1.x or
higher. The io_uring implementation consumes a lot more memory on e.g.
the 5.10.x kernel of host2, which causes osmo-bsc to run out of memory
in other places:

<0002> system_information.c:1641 bts 0: Error while generating SI4: Cannot allocate memory (-12)
<0002> bts_trx.c:505 Cannot generate SI4 for BTS 0: error <Cannot allocate memory>, most likely a problem with neighbor cell list generation

Related: OS#6405
Change-Id: Iddf2d47a641998860fd1ef615de976104667c5ab
The file was modified jobs/ttcn3-testsuites.yml
Commit 618140a22e41cba21ac2cfac51a84c7514041657 by Oliver Smith
OBS: sync_obs_projects: remove AlmaLinux:8

Related: OS#6446
Change-Id: I19fc021a950790eab8b8074ea1c0cdd34232f4f8
The file was modified jobs/osmocom-obs-sync.yml
Commit 0aa60b04a5193fc3d79ce64c9ce94ebed42a96bb by Oliver Smith
ansible/setup-jenkins: install rsync

After recent refactoring of the gerrit-binpkgs job, rsync is now
requried on the jenkins nodes. It was installed on the ones where I
tested, but not on all of them.

Fixes: b2e12851 ("OBS: move gerrit-binpkgs logic to separate script")
Change-Id: Ic8ffd61fc2c89574085e9c3abbceb554f3c5da6a
The file was modified ansible/setup-jenkins-slave.yml
Commit 91a79bd8aa8e7901a7d687b6222df360db1bcdc5 by Oliver Smith
jobs: gerrit: build osmo-pcap + dep for centos7

We are about to remove the rpm spec files for almost all Osmocom git
repositories. The only two git repositories where we still need them,
because we have a customer using them on centos 7, are libosmocore and
osmo-pcap (SYS#6760). Add CI to ensure that these still build fine, and
that we don't remove these by mistake.

Related: OS#6446
Change-Id: I4d4a67c053ed29811c504158d1ef49430880ad4f
The file was modified jobs/gerrit-verifications.yml
The file was modified scripts/obs/build_binpkg.py
The file was modified scripts/obs/data/build_binpkg.Dockerfile
The file was modified scripts/obs/lib/config.py
The file was modified scripts/obs/data/build_rpm.sh
Commit 902fb23413dbb3795dce7a39d86e854f4144d31f by Oliver Smith
OBS: gerrit_binpkgs: use --no-meta

Don't let packages built with gerrit_binpkgs.sh depend on an
osmocom-master meta package. This makes it easier to install and test
the built packages locally.

Change-Id: Ie225ed9d0a3b822752d902eaf1e74f54fb5f5d63
The file was modified scripts/obs/gerrit_binpkgs.sh
Commit cf3cbf38857cbabf6d242599a347fae90f90a7ae by Oliver Smith
OBS: gerrit_binpkgs: add hint where to find pkgs

Change-Id: If58081b17f96283620cd945f3521cf0edb4f7913
The file was modified scripts/obs/gerrit_binpkgs.sh
Commit d974243ef9bf4d2f7374dd98d4c9c525cad12cda by Oliver Smith
jobs/ttcn3: run ttcn3-msc-test earlier

It seems like various tests are failing from time to time due to the
builder having a too high load. As several ttcn3 testsuites run around 4
am already, move ttcn3-msc-test to 1 hour earlier where we don't have
anything currently.

Change-Id: I8eaf058f13f4175a458e9abe544bfb21ace481b7
The file was modified jobs/ttcn3-testsuites.yml
The file was modified jobs/README.adoc
Commit 072c4df738a43f554321d768f3dce9653139434c by Vadim Yanitskiy
jobs/ttcn3-testsuites.yml: add ttcn3-bts-test-io_uring

osmo-bts in theory can also benefit from io_uring, at least because
it can maintain multiple RTP connections for voice calls.  Let's
execute the respective testsuite with io_uring too.

Change-Id: I3af791103d863290a53c9ce2d1a8d1d9e42e91c7
The file was modified jobs/ttcn3-testsuites.yml
Commit 3bd97cc86a24f4ad34864fd38c21c6f8e6ba58f8 by Oliver Smith
jobs/ttcn3: update ttcn3-ggsn-test-kernel

Remove ttcn3-ggsn-test-kernel-pablo-gtp, as the IPv6 GTP patches have
been merged. Add ttcn3-ggsn-test-kernel-net-next and
ttcn3-ggsn-test-kernel-torvalds instead, which run the master/nightly
version of osmo-ggsn against HEAD of the kernel trees in
netdev/net-next and torvalds/linux.

Change-Id: I3d2f26ca87f79365f4a407376b5c3c0145f729a6
The file was modified jobs/ttcn3-testsuites.yml
Commit 3b10b6c6d295801aca78ee2a3c05ffb10c8891c4 by Oliver Smith
OBS: add update_obs_eclipse_titan.sh

Add a script to easily update the eclipse-titan package from a git
repository. This replaces the previous workflow of downloading the
previous source package, modifying it, and re-uploading it. With the git
repository, it is easier to see which patches are included, and it is
easier to modify the packaging (e.g. add new patches to fix build with
latest gcc), and easier to upgrade the eclipse-titan version.

I've done this change because it failed to build with the most recent
GCC in Debian Unstable. Backporting Vadim's patch from upstream fixes
it.

Related: https://gitlab.eclipse.org/eclipse/titan/titan.core/-/commit/b5d3d5bf4f0e2c27cda60555351b2feb93561d6b
Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Upgrading_eclipse-titan_in_the_Osmocom_OBS
Change-Id: Ieb1945d5cf4abf8ae2201f49ea7dce8eb343167e
The file was addedscripts/obs/update_obs_eclipse_titan.sh
Commit ad9c3eebbebc146b6b449662c24129a37bcec0c6 by Oliver Smith
jobs/{gerrit,master}: osmo-epdg: build manuals too

Related: OS#6332
Change-Id: I540c7cff982f6b0242b4b40985a80d0426c903d6
The file was modified jobs/master-builds.yml
The file was modified jobs/gerrit-verifications.yml
Commit ca736794674d751ada1cff1d266298c5cbe3ac75 by Oliver Smith
scripts: osmo_git_clone_url: prefer using gerrit

Use gerrit as clone URL for libgtpnl, libasn1c, libsmpp34 and libusrp,
as the gitea URL for these is just a (very delayed!) mirror.

Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Git_infrastructure
Change-Id: I6c643d31e1451d97566691b83a4167d42f3f5e41
The file was modified scripts/common.sh
Commit 8e7e546807cfc6231a7d52511cd026c33e23e08b by Oliver Smith
scripts: osmo_git_clone_url: add osmo-epdg

Fix for currently failing Osmocom-release-manuals job:

  :: (osmo-epdg) Getting git tags
  fatal: unable to access 'https://gerrit.osmocom.org/osmo-epdg/': The requested URL returned error: 403

Change-Id: I419b2d097a1a11975e3f90b3f129d02f63bfcf9d
The file was modified scripts/common.sh