Skip to content
Success

Changes

Summary

  1. build-old-tags: ignore failing due to api break (details)
  2. jobs/registry-rebuild-upload-android: new job (details)
  3. jobs/master-builds: add android-apdu-proxy (details)
  4. jobs/master-builds: archive android-apdu-proxy apk (details)
  5. jobs/master-builds: android-apdu-proxy -> gerrit (details)
  6. jobs/gerrit-verifications: add android-apdu-proxy (details)
  7. libosmo-abis now depends on libosmo-netif (details)
  8. scripts/osmocom-api-doxygen: libosmo-abis after libosmo-netif (details)
  9. scripts/osmocom-build-old-tags: libosmo-abis after libosmo-netif (details)
  10. jobs/ttcn3-ns-test{,-sns}: tweak timer (details)
  11. jobs/osmocom-release-android-apks: new job (details)
  12. obs-mirror: Keep archive of Ubuntu 24.04 latest/nightlies (details)
  13. jobs/master: add osmocom-android-binaries (details)
  14. scripts/manuals: fix osmocom-bb (details)
  15. scripts/build-old-tags: ignore osmo-bsc 1.12.2 (details)
  16. jobs/osmocom-obs: update descriptions (details)
  17. jobs/ttcn3-testsuites: adjust timer for bts (details)
  18. ansible: add IPv6 address of build5 (details)
  19. remove host2-deb11build (details)
  20. remove build2-deb{10,11}build related config (details)
  21. build5: add another obsworker (details)
  22. build5: also deploy qemu, as othewise some jenkins jobs fail. (details)
  23. update known_hosts with build5 (details)
  24. ansible/setup-obs-worker: sort pkgnames (details)
  25. ansible/setup-obs-worker: add man and etckeeper (details)
  26. ansible/setup-obs-worker: install lxc<5.0.0 (details)
  27. ansible/vars/Suse-15: set obs_vm_type = lxc (details)
  28. ansible/hosts: fix name: build4-obsworker (details)
  29. ansible: obs worker: set worker cache size to 50G (details)
  30. ansible: build4/5: set docker_max_image_space=50G (details)
  31. jobs/gerrit: build libosmo-netif for centos7 (details)
  32. update coverity version to 2024.6.1 (current one) (details)
  33. ansible: build5-deb12build is also a coverity builder (details)
  34. jobs/master-builds: add ot290-gsmtap (details)
  35. jobs/master,gerrit: docker run: 1 arg per line (details)
  36. ansible: coverity: fix creating symlink (details)
  37. ansible: coverity: improve file not found error (details)
  38. scripts/{manuals,tarballs}: skip old sigtran tags (details)
  39. ansible/hosts: add comments with usage hints (details)
  40. scripts/repo-install-test: add disconnect hint (details)
  41. jobs/master,gerrit: use io_uring seccomp profile (details)
  42. jobs/{master,gerrit}: set ulimit filesize to 1 GiB (details)
  43. jobs: manually trigger "git gc" for linux.git (details)
  44. scripts/docker-cleanup: add "docker system prune" (details)
  45. ansible/setup-jenkins-slave: add mingw job deps (details)
  46. coverity: use proper asn1c branch (details)
  47. ansible: update build5-obsworker ssh key (details)
  48. ansible/obs-worker: lxc<5: link to upstream issue (details)
  49. scripts/tarballs: add osmo-upf (details)
  50. jobs/registry-rebuild-upload: add …-aram-applet (details)
  51. jobs/master-builds: remove redundant branch (details)
  52. jobs/master-builds: add aram-applet (details)
  53. jobs/gerrit-verifications: add aram-applet (details)
  54. jobs/master-builds-dahdi: add branch, mail params (details)
  55. jobs/dahdi: build against linux latest stable too (details)
  56. jobs/gerrit-lint: run in docker (details)
  57. lint/lint_diff: make use of shell functions (details)
  58. lint/lint_diff: run clang-format if config was found (details)
  59. lint/lint_diff: allow skipping with OSMO_LINT=0 (details)
  60. obs: gerrit_binpkgs: set --allow-unknown-package (details)
  61. jobs/ttcn3-testsuites: run remsim with testenv (details)
  62. *.py: fix imported but unused (details)
  63. *.py: fix variable assigned to but never used (details)
  64. *.py: ignore: E722 Do not use bare `except` (details)
  65. OBS: fix f-string without any placeholders (details)
  66. scripts/verify_log_statements: fix undefined name (details)
  67. lint: run 'ruff' on various repositories (details)
  68. jobs/osmocom-build-tags…: set seccomp profile (details)
  69. repo-install-test: ignore bladerf packages (details)
  70. jobs/ttcn3-testsuites: run sccp with testenv (details)
  71. jobs/testsuites: move msc to testenv (details)
  72. lx2-raspbian12build-ansible: update name (details)
  73. OBS: cleanup: new script (details)
  74. jobs/ttcn3-testsuites-testenv: Add ttcn3-pcap-client-test-io_uring (details)
  75. ansible/setup-jenkins-slave: add python3-packaging (details)
  76. jobs/ttcn3: move ttcn3-ns-test to testenv (details)
  77. jobs/osmocom-obs-sync: add Ubuntu 25.04 (details)
  78. jobs/ttcn3-testsuites: run FR tests with debian 10 (details)
  79. OBS: build_binpkg: use signed-by in sources.list (details)
  80. obs-mirror-include: update Ubuntu versions (details)
  81. jobs/ttcn3-testsuites: add ttcn3-dia2gsup-test-latest (details)
  82. jobs: free up runners from 01:00 - 03:00 (details)
  83. jobs: run ttcn3-bts-test-* between 01:00 - 06:00 (details)
  84. ansible: add build-hosts (build4, build5) (details)
  85. ansible: build-hosts: add testenv-coredump-helper (details)
  86. jobs/ttcn3-testsuites-testenv: set core env var (details)
  87. jobs/osmocom-release-tarballs: add email parameter (details)
  88. tarballs: add libosmo-dsp (details)
  89. jobs/ttcn3-testsuites: display load at start/end (details)
  90. tarballs: add pyosmocom, libosmo-gprs (details)
  91. jobs/registry-rebuild-upload: add rp2040 (details)
  92. jobs/gerrit: add osmo-rp2040-firmware (details)
  93. jobs/master: pass osmo-ci to docker (details)
  94. jobs/master-builds: add osmo-rp2040-firmware (details)
  95. jobs/ttcn3: move ttcn3-gbproxy-test to testenv (details)
  96. jobs/ttcn3: add ttcn3-upf-test-asan (details)
  97. jobs/registry-rebuild-upload-titan: add branch arg (details)
  98. scripts/kernel/fragment: enable osmo-epdg options (details)
  99. OBS: build_binpkg: fix building for ubuntu 24.04 (details)
  100. OBS: build_binpkg: ubuntu 24.04: fix eclipse-titan (details)
  101. OBS: gerrit_binpkgs: add FEED parameter (details)
  102. jobs/ttcn3: move epdg to testenv (details)
  103. OBS: remove pdf draft watermark for latest pkgs (details)
  104. scripts/manuals: use new method for removing DRAFT (details)
  105. jobs/ttcn3-testsuites-testenv: no rm on error (details)
  106. jobs: ttcn3-stp*: Pass '-c all' (details)
  107. lint: test_ruff: add osmo-dev to format_projects (details)
  108. jobs/gerrit-verifications: run CI for osmo-dev.git (details)
  109. jobs/ttcn3-testsuites-testenv.yml: Add ttcn3-5gc-test-ogs (details)
  110. OBS: update_obs_eclipse_titan: update (details)
  111. jobs/osmocom-obs: add EMAIL_NOTIFICATIONS argument (details)
  112. OBS: repo without manuals: fix draft removal logic (details)
  113. OBS: remove libosmo-sccp-legacy (details)
  114. OBS: add the new osmocom-keyring package (details)
  115. OBS: move meta_package_version to config variable (details)
  116. OBS: let meta package depend on osmocom-keyring (details)
  117. jobs/reminder-extend-obs-key: new job (details)
  118. jobs: make references to master branch consistent (details)
  119. repo-install-test: ignore eclipse-titan-optdir (details)
  120. jobs/ttcn3: move pgw to testenv (details)
  121. jobs/ttcn3-testsuites-testenv: add email parameter (details)
  122. jobs/ttcn3-…-testenv: add TESTENV_ARGS parameter (details)
  123. jobs/ttcn3-testsuites: add email parameter (details)
  124. jobs: add ttcn3-bsc-test-{sccplite,vamos}-asan (details)
  125. OBS: use debian/eol:buster for debian:10 (details)
  126. jobs/repo-install-test: add email parameter (details)
  127. repo-install-test: debian10: use archive mirror (details)
  128. jobs/registry…: add email parameter (details)
  129. jobs/registry…: debian:buster -> debian/eol:buster (details)
  130. jobs/registry…: fix syntax error (details)
  131. osmo_git_clone_url(): add logger_gsmtap and enftables (details)
  132. jobs/master-builds: add logger_gsmtap and enftables (details)
  133. jobs/gerrit-verifications: add logger_gsmtap (details)
  134. jobs/master-builds: fix repos_url for enftables (details)
  135. jobs/osmocom-obs-sync: add Debian:13 (details)
  136. contrib/obs-mirror/obs-mirror-include: update (details)
  137. OBS: support building debian trixie (13) pkgs (details)
  138. jobs/gerrit: remove binpkgs that are the default (details)
  139. jobs/gerrit: binpkgs: update debian versions (details)
  140. jobs/registry-update-base-images: add debian:trixie (details)
  141. jobs/osmocom-obs-sync: add email parameter (details)
  142. OBS: sync_obs_projects: support security.d.o (details)
  143. scripts/obs/sync_obs_projects.py: format with ruff (details)
  144. jenkins-gerrit: print the URLs this script reads (details)
  145. jenkins-gerrit: binpkgs: ignore decode errors (details)
  146. jobs/gerrit-verifications: osmo-ttcn3-hacks: do make clean (details)
  147. jobs/registry-rebuild-upload-titan: use trixie (details)
  148. jobs/ttcn3-testsuites-testenv: pull trixie image (details)
  149. OBS: lib/debian: format with ruff (details)
  150. jobs/ttcn3-testsuites-testenv: enable upf latest (details)
  151. OBS: --version-append: never override version (details)
  152. jobs: run ttcn3-remsim-test-asan with bookworm (details)
  153. jobs/gerrit-verifications: add libosmo-asn1-tcap (details)
  154. OBS: build libosmo-asn1-tcap (details)
  155. jobs/master-builds: add libosmo-asn1-tcap (details)
  156. OBS: disable_manuals: adjust for osmocom-bb (details)
  157. Add Ubuntu 25.10, remove 24.10 (details)
  158. OBS: stop building limesuite (details)
  159. testenv-coredump-helper: remove (details)
  160. scripts/wrapper_core_bt_on_error: new script (details)
  161. jobs/master,gerrit: use wrapper_core_bt_on_error (details)
  162. jobs/master,gerrit: set CFLAGS=-g (details)
  163. scripts/osmo-ci-docker-rebuild: switch to trixie (details)
Commit 0ba4ce01b652c74832817ddd8eb893abc791c3a5 by Oliver Smith
build-old-tags: ignore failing due to api break

Ignore osmo-bsc and osmo-msc versions that are known to fail due to
intentional API break. osmo-bsc 1.12.2 and osmo-msc 1.12.2 build are
forward-compatible.

Note that previous releases don't need to be listed in tags_to_ignore()
as this script only builds the last 3 release tags.

Related: https://osmocom.org/news/284
Related: OS#6617
Change-Id: Ia9b3edeb369aac35b9baceaefdf517a4f3d532be
The file was modifiedscripts/osmocom-build-old-tags-against-master.sh
Commit 9b4ec15a8c9699660ec4cddb86ff18a14ed22a36 by Oliver Smith
jobs/registry-rebuild-upload-android: new job

Add a job to build and upload the debian-bookworm-android image, to be
used for building the android-apdu-proxy app and possibly more in the
future.

Related: OS#6367
Depends: docker-playground Ic7a454be23072c3f0ed609d370fc88f49205b04c
Change-Id: Ia71bf8df638b9c4359d8b1a723795029541e023a
The file was addedjobs/registry-rebuild-upload.yml
Commit 7bc78a2d70801d3f121a849c5959a114a6679d98 by Oliver Smith
jobs/master-builds: add android-apdu-proxy

Gradle downloads a lot of files during the build, mount the cache dirs
so this is only done once for master builds.

Related: OS#6367
Change-Id: Ie7c3948e8c4a1a75a1efaac3e7c238601c5cdccb
The file was modifiedjobs/master-builds.yml
Commit becb9cb6e8efdfcdc91ce7a5ccdae938ec457b3c by Oliver Smith
jobs/master-builds: archive android-apdu-proxy apk

Store the apk after successful run of the android-apdu-proxy job. It can
be found by clicking on a job at [1] and then clicking on "default"
(since the job is behind a matrix, as all master jobs).

[1]: https://jenkins.osmocom.org/jenkins/job/master-android-apdu-proxy/

Related: OS#6367
Change-Id: If3224da6c4e3fa90fa84abfec4e75efd634a8bfa
The file was modifiedjobs/master-builds.yml
Commit 7525ab36f2c3ac2e5430972be4f043d1591fe2e9 by Oliver Smith
jobs/master-builds: android-apdu-proxy -> gerrit

The repository is now in gerrit.

Related: OS#6367
Change-Id: I102957f8b23653bdf2e414fcb7fec0f2f78feb2e
The file was modifiedjobs/master-builds.yml
Commit d89ba9f37e29ca202c874255bb3ba05d34f79efa by Oliver Smith
jobs/gerrit-verifications: add android-apdu-proxy

Related: OS#6367
Change-Id: I688a78ce944e68e97a229df01ced32b7cbd10cc4
The file was modifiedjobs/gerrit-verifications.yml
Commit 1f46ed9e759ea2d96538ea05357f47293a9bd6e2 by Pau Espin Pedrol
libosmo-abis now depends on libosmo-netif

Depends: libosmo-abis.git Change-Id I079dc3999de508301dd37ed03e399356a58d3cab
Depends: libosmo-netif.git Change-Id I13d6e88158f6d9ce017986283183ee9c2cc68c
Change-Id: I27b3a2d4fa8d72924967ea7bf893322b9bfc16f9
The file was modifiedcoverity/build_Osmocom.sh
The file was modifiedjobs/master-builds.yml
Commit df94f33c5cdfe5324a91c9ebc9b868479dbeb0fa by Oliver Smith
scripts/osmocom-api-doxygen: libosmo-abis after libosmo-netif

Depends: libosmo-abis I079dc3999de508301dd37ed03e399356a58d3cab
Depends: libosmo-netif I13d6e88158f6d9ce017986283183ee9c2cc68cae
Change-Id: Ic80a9cc242ae0a8244d4e0a55cc08ba38039125b
The file was modifiedscripts/osmocom-api-doxygen.sh
Commit be6230bccd0e08bed94849d4afde485cff9fbfed by Oliver Smith
scripts/osmocom-build-old-tags: libosmo-abis after libosmo-netif

Depends: libosmo-abis I079dc3999de508301dd37ed03e399356a58d3cab
Depends: libosmo-netif I13d6e88158f6d9ce017986283183ee9c2cc68cae
Change-Id: I778191a3c39b76712f8709fcda8efda41e95a8eb
The file was modifiedscripts/osmocom-build-old-tags-against-master.sh
Commit 9cf659dd0ea6a812bf44a723f6993191964f4650 by Oliver Smith
jobs/ttcn3-ns-test{,-sns}: tweak timer

Since the timers were adjusted last time, ttcn3-ns-test{,-sns} started
failing every other day with:

  python3-osmopy-utils : Depends: osmocom-nightly (= 202411222026) but it is not going to be installed

The reason is that the binary packages are not ready yet at that time.
Run the jobs 1h later to avoid this.

Change-Id: I4f61013661d5de5382c3431650051989200fd785
The file was modifiedjobs/ttcn3-testsuites.yml
Commit 89a3b3f049c13c8d7e3ba17e305990fc9ea21f3d by laforge
jobs/osmocom-release-android-apks: new job

Add a job similar to the release tarballs job, that iterates over the
tags of the android app repositories (currently only
android-apdu-proxy) and builds/uploads an apk for each of them.

Related: SYS#7197
Change-Id: Iab3472c8bf24a35c5f602b03a29510542e2c3d58
The file was addedjobs/osmocom-release-android-apks.yml
The file was modified.gitignore
The file was addedscripts/android/publish-apks-for-tags.sh
Commit bcc4e00013dc9830873ffa4824fc8e0d835ee810 by laforge
obs-mirror: Keep archive of Ubuntu 24.04 latest/nightlies

Seems like this was forgotten when 24.04 was enabled on OBS

Related: SYS#7208
Change-Id: I16db5251659798446e34f71f2878614500aae193
The file was modifiedcontrib/obs-mirror/obs-mirror-include.txt
Commit aff10a6a24eefe2fa6b6be2044aadb4591e526cd by Oliver Smith
jobs/master: add osmocom-android-binaries

Add a job that runs contrib/jenkins.sh of the new
osmocom-android-binaries repository to deploy it.

Related: SYS#7197
Change-Id: I9153fd60ed6cea150096c0e462284bc7f9605beb
The file was modifiedjobs/master-builds.yml
Commit 0e1fa7ef327eabc9ea27ed91959247686e36c977 by Oliver Smith
scripts/manuals: fix osmocom-bb

Adjust publish-manuals-for-tags.sh so it can build manuals for
osmocom-bb as well.

Change-Id: I33af549de326c20e887ece713087133d3efb4b77
The file was modifiedscripts/manuals/publish-manuals-for-tags.sh
Commit 6ff186ade878f3dee9b5e69392aca327f21fdd40 by Oliver Smith
scripts/build-old-tags: ignore osmo-bsc 1.12.2

Not forward-compatible to recent libosmo-abis changes. This has been
fixed in 1.12.3.

Change-Id: I09dc448c3eecbeac67662fa52512cca0d2da0b18
The file was modifiedscripts/osmocom-build-old-tags-against-master.sh
Commit f4f34fbfc06b5f7b434f3bf789a306a18c996725 by Oliver Smith
jobs/osmocom-obs: update descriptions

Describe when which job gets triggered, and whether it is fine to
trigger them manually.

Change-Id: I311c7e5194b1ef516ab54972383f03730b8cd6f2
The file was modifiedjobs/osmocom-obs.yml
Commit b7e67c1df52050ebaa23437db8dc405dd223c446 by Oliver Smith
jobs/ttcn3-testsuites: adjust timer for bts

BTS testsuites tend to fail with timeouts on heavy loads. Group them in
a timeslot where jenkins nodes are otherwise not busy according to
stats in grafana to hopefully make the test results more stable. Once
we can replace faketrx with a rewrite (OS#6672), this should not be
necessary anymore.

Change-Id: If25009a5b9215a0f51381529e26bfb3ba2303ae2
The file was modifiedjobs/ttcn3-testsuites.yml
Commit 2088adac3c64b3cd42077119a64543e2d3e428ae by laforge
ansible: add IPv6 address of build5

Change-Id: Ic5d5ed254f3dc2786873e52c450fab320d03a1ed
The file was modifiedansible/hosts
The file was modifiedansible/util/known_hosts
The file was modifiedjobs/update-osmo-ci-on-slaves.yml
Commit 2f488d0cbf4531e2bacc3e80ef70035ab3966f87 by laforge
remove host2-deb11build

1) running build jobs on a 'host' (serving gitea, redmine, ...) was a
   historical hack

2) osmith says we don't use deb10/deb11 hosts anymore anyway

Change-Id: Ia61cbb354f166d37abc900a9f5722e72b2f1696a
The file was modifiedansible/hosts
The file was modifiedjobs/update-osmo-ci-on-slaves.yml
Commit 39d516731e545eadf8ce8d634e40a805ce310588 by laforge
remove build2-deb{10,11}build related config

according to osmith, those build slaves are not used anymore.

Change-Id: I102e0cad667d8f2cf43c3535169cf3e32e04fca1
The file was modifiedjobs/update-osmo-ci-on-slaves.yml
The file was modifiedansible/hosts
Commit 67890557e1fc06776f63e91bb46cff666d745e04 by laforge
build5: add another obsworker

Change-Id: I85e07725a0b91d6f31a74143437c69bb15c51706
The file was modifiedansible/hosts
Commit 8fe26ad71aa32131e3630bafcd644393e9f6a30a by laforge
build5: also deploy qemu, as othewise some jenkins jobs fail.

Change-Id: I085f7fdd89c2d219d0be2edc35cb65fdf5954b47
The file was modifiedansible/hosts
Commit 8e2ba9278e1c39e3623ad9093db9a899d7768131 by laforge
update known_hosts with build5

Change-Id: I0b99fb0bb3a580ce114cec8852d7bfc7f1daaf6c
The file was modifiedansible/util/known_hosts
Commit ed5e6051599deb37118a114bf0c81204796d0c1f by Oliver Smith
ansible/setup-obs-worker: sort pkgnames

Change-Id: Idba44f44ac981e718b9aa7ee1b5612ca515304bd
The file was modifiedansible/setup-obs-worker.yml
Commit 3b5a47b31e083c52b7353c29e86a9e125b0abb6a by Oliver Smith
ansible/setup-obs-worker: add man and etckeeper

Change-Id: I131fac4e43245b41deb87b0f2631679109c56d2d
The file was modifiedansible/setup-obs-worker.yml
Commit 7ec7e7974102dae02a4274086e42d731c19d3403 by Oliver Smith
ansible/setup-obs-worker: install lxc<5.0.0

Make sure we install a version that works with obs-build.

Related: OS#6186#note-50
Change-Id: Ied668ccd4a2079e6539ffd27aa9ce7b736c8ba31
The file was modifiedansible/roles/osmocom-obs-worker/tasks/obs.yml
Commit 67a84bf43466fe00dffe744059637061c0f879ee by Oliver Smith
ansible/vars/Suse-15: set obs_vm_type = lxc

Fix that the playbook aborts with:
  AnsibleUndefinedVariable: 'obs_vm_type' is undefined. 'obs_vm_type' is undefined

Change-Id: Ic9730f49c33e872aedc8ed45511282e41c4f9bc3
The file was modifiedansible/vars/Suse-15.yml
Commit 408bb8e0272384c7e935c2439e68c628042ad679 by Oliver Smith
ansible/hosts: fix name: build4-obsworker

The name is build4-obsworker, not build4-obsworker1:

  root@build4 ~ # lxc-ls
  build4-obsworker …

Change-Id: I5d329f2f4ad858ff6657d329a8acdc01184980be
The file was modifiedansible/hosts
Commit 625462ef771737a303f10ee3d4583afde737fd6d by Oliver Smith
ansible: obs worker: set worker cache size to 50G

Change the worker cache size from 100G to 50G, to get more free space.

Change-Id: Ifa234674ccb8b2a84298fccf6f0aed5c7ddf850e
The file was modifiedansible/roles/osmocom-obs-worker/templates/obs-server
Commit f13b28dfcc37f6b6a5fe64cd2613509fd4839fee by Oliver Smith
ansible: build4/5: set docker_max_image_space=50G

Change the value from 80 G to 50 G to get more free space.

Change-Id: I8a7b24ab1c60f0ca11aa7d9bb931dc47d429622e
The file was modifiedansible/hosts
Commit 8b73eec2695a67c9d5a7a00da76eb5f1cf17b0a9 by Oliver Smith
jobs/gerrit: build libosmo-netif for centos7

osmo-pcap will soon depend on libosmo-netif, and we build osmo-pcap for
centos7.

Related: SYS#6760
Related: osmo-pcap I3562185f98685ea5a412273212e6dfbe55b360e2
Change-Id: Ie39f375152e8000c4e34bddd591c2c1ea91f9765
The file was modifiedjobs/gerrit-verifications.yml
Commit 17bbba1f02568519ef88fc41e74fd76def3556ec by Oliver Smith
update coverity version to 2024.6.1 (current one)

coverity started to reject builds with older versions

Change-Id: Ifa5621279bbf14839096e10ced74ed855908897b
The file was modifiedansible/roles/install-coverity/defaults/main.yml
Commit e041b949c609ef439ab20f8e6a97537606ae7e05 by Oliver Smith
ansible: build5-deb12build is also a coverity builder

Change-Id: Id9d35658197409bcaba3e267cab36d7aa2a28972
The file was modifiedansible/hosts
Commit 4279823c814376612b1a8e3025cd4d2fc62b886e by Oliver Smith
jobs/master-builds: add ot290-gsmtap

This job didn't have a jenkins job builder config yet and ran without
docker on label=osmocom-master-debian10, which we are removing.

Related: https://jenkins.osmocom.org/jenkins/job/master-ot290-gsmtap/
Related: OS#6186
Change-Id: Iec1a07896dc2817f7671463ddba438b727f41b5d
The file was modifiedjobs/master-builds.yml
Commit 81067550bc1d9bb3ca4a5e4efea2c4710d7b3269 by Oliver Smith
jobs/master,gerrit: docker run: 1 arg per line

Move the -i, -u build arguments to separate lines as otherwise it is
easy to overlook them.

Change-Id: Ib31f9bc50e2f18dda631adb90f6a590757088a94
The file was modifiedjobs/gerrit-verifications.yml
The file was modifiedjobs/master-builds.yml
Commit f26407d2a2b075e7f5cbaac5f0f4f78239d13007 by laforge
ansible: coverity: fix creating symlink

Fix for:
  Unsupported parameters for (ansible.legacy.command) module: warn. Supported parameters include: _raw_params, _uses_shell, argv, chdir, creates, executable, expand_argument_vars, removes, stdin, stdin_add_newline, strip_empty_ends.

Fixes: OS#6702
Change-Id: I42be62cbba38a2a33ebe46fa1094155358490383
The file was modifiedansible/roles/install-coverity/tasks/main.yml
Commit fcfdc4d988487ee396163e9203834be88a7beb70 by laforge
ansible: coverity: improve file not found error

Abort early when the coverity tarball was not found and tell the user
where they can download it, and where exactly the file needs to be.

Change-Id: Iddf629abd5c5a87afc238fbf6927cda9aa6f49b2
The file was modifiedansible/roles/install-coverity/tasks/main.yml
Commit bbf3012de7f7683620dac9ae82f45df5b6f933ea by Oliver Smith
scripts/{manuals,tarballs}: skip old sigtran tags

After the old libosmo-sccp.git tags have been imported into
libosmo-sigtran.git, they now need to be ignored in the manuals and
release tarballs job.

Related: OS#6683
Change-Id: Ia182f79ba3f0a80b98af3c1c77a1390f5d08ca93
The file was modifiedscripts/manuals/publish-manuals-for-tags.sh
The file was modifiedscripts/tarballs/publish-tarballs-for-tags.sh
Commit 3b20a7f497abdb3ceb4c42abf8fd2c7dbf729145 by Oliver Smith
ansible/hosts: add comments with usage hints

When adding build5, these steps were not intuitive so add some
documentation hints about them.

Change-Id: I7b9c14db47d747dab4d96464ab67f4bec5cf9b7a
The file was modifiedansible/hosts
Commit b381762eb0ade3e04bee243769434acca25d3cc6 by Oliver Smith
scripts/repo-install-test: add disconnect hint

Add a hint that would have been useful when we set up build5.

Change-Id: I208cacaaf4018dc3adf5c4b878147c19769381ff
The file was modifiedscripts/repo-install-test.sh
Commit 0ba4dac82b83a8e6515c75e1b792014375595f37 by Oliver Smith
jobs/master,gerrit: use io_uring seccomp profile

Use the seccomp profile not only in ttcn3 testsuites, but also in
master-builds and gerrit-verifications so we can test io_uring there
too.

CI happened to work without this for libosmocore on build4 because of a
specific docker version where io_uring was not yet (fully?) disabled in
the default seccomp profile. It did not work without this patch on
build5 where we currently have a newer docker version.

Related: OS#6405, OS#6186
Related: docker-playground I27567c2a5d9543c3509c316226c082ab950c5ebc
Change-Id: I71df7f7eeb79b831fb67d2cda377cf1d0619b93d
The file was modifiedjobs/master-builds.yml
The file was modifiedjobs/gerrit-verifications.yml
Commit ef498e7efe3a5801bbfbf4b6e90a4e54bb3ee6e5 by Oliver Smith
jobs/{master,gerrit}: set ulimit filesize to 1 GiB

Set a max file size limit of 1 GiB via ulimit. This prevents jobs from
filling up the disk by generating one huge log file.

I have chosen 1 GiB as limit, because jobs that clone linux kernel
repos may have packed git artifacts that are several 100 MiB in size.

It would be even better to set the overall max disk space that can be
used from one "docker run" call, but this is currently not supported for
ext4: https://github.com/moby/moby/issues/29364

Related: OS#6704
Change-Id: I4f9d5ad33c2d6e003d239e8b2c97753d64dd00f6
The file was modifiedjobs/gerrit-verifications.yml
The file was modifiedjobs/master-builds.yml
Commit a71ccaa13598d4d5627b4e16e497f4d7d076b53e by Oliver Smith
jobs: manually trigger "git gc" for linux.git

We already use shallow clones for linux.git, and git runs a garbage
collector automatically to ensure no longer needed artifacts are
removed. But this did not work anymore on build4 for
build-kernel-net-next, and it increased up to 8.4 GiB:

    8,4 GiB /build-kernel-net-next

After running "git gc" again:

    3,3 GiB /build-kernel-net-next

The reason was that "git gc" did not exit successfully once and wrote a
log file, then refused to run again. Run "git gc --auto" explicitly in
foreground to let abort in such a case, so it does not go unnoticed in
the future.

Change-Id: Ic81ae5a1edb0dbe119e06cc3b49ea69ef81b2a5f
The file was modifiedjobs/gerrit-verifications-dahdi.yml
The file was modifiedjobs/master-builds-dahdi.yml
The file was modifiedjobs/build-kernels-testenv.yml
Commit fa7a94dd4e75e8ead20d4cc5d1ed79a64a85f4ff by Oliver Smith
scripts/docker-cleanup: add "docker system prune"

On build4 this freed up another 8.223GB when I just ran it:

  $ docker system prune
  WARNING! This will remove:
    - all stopped containers
    - all networks not used by at least one container
    - all dangling images
    - all dangling build cache

  Are you sure you want to continue? [y/N]

Change-Id: I98aa5324eaf7cf319625d85bc80d431b89ee50a7
The file was modifiedscripts/docker-cleanup.sh
Commit 7b4109ff906dd933d0db425bf2fb686740046646 by Oliver Smith
ansible/setup-jenkins-slave: add mingw job deps

Support running the legacy job Osmocom-OBS_MinGW_weekly_publish by
installing its dependencies directly in the LXC. This is a workaround
until we modernize the job, see the related issue.

Related: OS#6706
Change-Id: I49ccf5957dda8459a94c48fe5426b16edc7cb3e2
The file was modifiedansible/setup-jenkins-slave.yml
Commit c792b8c79ee92af6a34c4c06ec01a985c8902f94 by Oliver Smith
coverity: use proper asn1c branch

Change-Id: I556b0cc038121b9405556f316d71c0fc75f7d177
The file was modifiedcoverity/prepare_source_Osmocom.sh
Commit e22ca0edcf020d1eca4cf20a729e50faa13cb9e7 by Oliver Smith
ansible: update build5-obsworker ssh key

I've reinstalled the build5-obsworker lxc after first upgrading to
openSUSE 15.6 and then discovering that the lxc version is incompatible
with obs-build: 15.6 doesn't have lxc 4 anymore, but a higher version is
not supported by obs-build. I've added a big warning in the wiki so we
don't run into this again until obs-build has been adjusted.

Related: https://github.com/openSUSE/obs-build/issues/1060
Change-Id: I70a4e404fef74694ee851345345924ae95319b3e
The file was modifiedansible/util/known_hosts
Commit 14f92566757bb1d26df95a953d4ae4ce2e9f4a30 by Oliver Smith
ansible/obs-worker: lxc<5: link to upstream issue

Change-Id: Ia1a575a137c7141d49d974e4d6ffb2472abb64bf
The file was modifiedansible/roles/osmocom-obs-worker/tasks/obs.yml
Commit fe060653c17343a7a8d8519767ba91280d71e45c by Oliver Smith
scripts/tarballs: add osmo-upf

Change-Id: I934ec64d3c211753fd6c30affd3d7ac9a52ffcda
The file was modifiedscripts/tarballs/publish-tarballs-for-tags.sh
Commit 882fa47c6a48de183b14207d8eed64acd19654ac by Oliver Smith
jobs/registry-rebuild-upload: add …-aram-applet

Related: SYS#7293
Depends: docker-playground I6ed01bb837bffe6581a4c0d0b1cda39abb375fd5
Change-Id: Iaf2bfcadae51c6f9297fff747e535701a2c5ce84
The file was modifiedjobs/registry-rebuild-upload.yml
Commit 903cc2a03627bbb54cf972347326e5da0cc1418b by Oliver Smith
jobs/master-builds: remove redundant branch

We don't need this line, as this is just the default branch.

Change-Id: I8d5d8896b9a76219423e0b7f13bcce2924c75c79
The file was modifiedjobs/master-builds.yml
Commit ed93dca2feb58817edcf432f2712c8254d5517eb by Oliver Smith
jobs/master-builds: add aram-applet

Change-Id: Ie6ea415b29bdd33a8dab3add9850707a98115be1
The file was modifiedjobs/master-builds.yml
Commit 4eb5b58f448678d67b22d4d19fc1460020cecd5b by Oliver Smith
jobs/gerrit-verifications: add aram-applet

Change-Id: Ic0fa5d3d89e4af2e812d3d598dfef4b5c9e0a8b6
The file was modifiedjobs/gerrit-verifications.yml
Commit d8992641b6f3b874e532868758862bbd4feffc70 by Oliver Smith
jobs/master-builds-dahdi: add branch, mail params

Change-Id: I87727e730c5b0190dbf16469301c3f81aa8462e2
The file was modifiedjobs/master-builds-dahdi.yml
Commit 8bb42f8210e01f51d34e9f5189e20714d21a4dc5 by Oliver Smith
jobs/dahdi: build against linux latest stable too

As discussed with Harald, add a job that builds against the current
latest release of the linux kernel.

Change-Id: Ib5031958d8b707bbdf32af9e582b7dabd9bd803c
The file was modifiedjobs/master-builds-dahdi.yml
The file was modifiedjobs/gerrit-verifications-dahdi.yml
Commit b16268a99b2195d672f9ac29578ab847f867b04c by Oliver Smith
jobs/gerrit-lint: run in docker

Run the linting scripts in docker, so we can make use of additional
programs like clang-format without installing them on the jenkins node
directly.

Change-Id: I17d2e538f1f9fb69f298ac223bc293570db90a83
The file was modifiedlint/lint_diff.sh
The file was modifiedcontrib/known_hosts
The file was modifiedjobs/gerrit-lint.yml
Commit a42c6a56e031ff92512494cb7906655e98a9ab52 by Oliver Smith
lint/lint_diff: make use of shell functions

Prepare to add more logic to this file by first moving existing code
blocks into functions.

Change-Id: If884f51f20e794397ee0fecff0cf1f958957da05
The file was modifiedlint/lint_diff.sh
Commit 31db96c312b953afc26ae4b16b266e367a0fdcef by Oliver Smith
lint/lint_diff: run clang-format if config was found

The osmo-asf4-dfu and osmo-ccid-firmware now have clang-format configs.
Adjust the lint script to run clang-format if such a config is found in
the repository for which the lint script is running.

Change-Id: Ie210966ebfbada43dd8507b9b48218df4925820d
The file was modifiedlint/lint_diff.sh
Commit 3dffb34587dc0bba9ce46c7ef0d7e07c8167a8d4 by Oliver Smith
lint/lint_diff: allow skipping with OSMO_LINT=0

When this script is set as pre-commit hook, it can be useful to skip the
linter with this env var to make a commit that intentionally does not
pass the linter (e.g. to test if it will be caught in gerrit + jenkins).

There is also "git commit --no-verify", but with that the hook that
applies the Change-Id does not run.

Change-Id: Ia4563c13d9916a879a1e8afeacad8c541662adaa
The file was modifiedlint/lint_diff.sh
Commit 9a18ebaa78fc255a0aea42186a2743829d69162e by Oliver Smith
obs: gerrit_binpkgs: set --allow-unknown-package

The gerrit_binpkgs.sh script can be used to quickly test building of
debian packages in a container even for packages that we don't have
in the OBS osmocom repositories. For example I'm currently using it to
test-build kamailio packages. Use the --allow-unknown-package argument
so build_srcpkg.py doesn't complain if this gets called with a package
that isn't a known Osmocom package.

Change-Id: I79e89c0d7a73f8b2262fd10a0f7a118aa8351635
The file was modifiedscripts/obs/gerrit_binpkgs.sh
Commit 7d7df727072c4ce8e6983b3888a3a766994efa9b by Oliver Smith
jobs/ttcn3-testsuites: run remsim with testenv

Related: OS#6494
Change-Id: Ibaa638408c130335e5d14590111e641493cdc194
The file was modifiedjobs/ttcn3-testsuites.yml
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit 8dfedc315945fdf273af4a7362a3bbd2d473292a by Oliver Smith
*.py: fix imported but unused

Prepare to run "ruff check" on this repository by first fixing what it
complains about in this and following patches.

Change-Id: I89fa4a50a28f6ceab48cce939ca0c076967d43fd
The file was modifiedscripts/obs/sync_obs_projects.py
The file was modifiedscripts/obs/lib/osc.py
The file was modifiedscripts/osmo-depcheck/buildstack.py
The file was modifiedlint/checkpatch/checkpatch_json.py
The file was modifiedscripts/obs/lib/srcpkg.py
Commit e224a518c2b20a3130eac768012c90584c0efb46 by Oliver Smith
*.py: fix variable assigned to but never used

Change-Id: I6aca8f9aab10e7ee395980b53316a720ab2e2469
The file was modifiedscripts/obs/lib/metapkg.py
The file was modifiedscripts/verify_log_statements.py
The file was modifiedscripts/obs/lib/debian.py
Commit e28454ea4b120a7ab96e133589a7b7b3ee8c0846 by Oliver Smith
*.py: ignore: E722 Do not use bare `except`

Let the ruff linter not complain about the existing cases of "Do not use
bare `except`" so we get the linter to pass without changing the
existing logic here. With this we don't disable the check globally, so
we can consider making stricter excepts in new code.

Change-Id: Iaef20d47cd171aab23e516e7f7516caf98264249
The file was modifiedscripts/verify_log_statements.py
The file was modifiedscripts/obs/lib/srcpkg.py
Commit 9f2eea23f83a6bf2343e10e631e2b025c1237d22 by Oliver Smith
OBS: fix f-string without any placeholders

Change-Id: I9b7b11a41930a99819a3569f817a0da5586e30a3
The file was modifiedscripts/obs/sync_obs_projects.py
Commit c8ec5d58507718165b863c36b51e29e9afd1a4a1 by Oliver Smith
scripts/verify_log_statements: fix undefined name

Append it to "errors_found" instead of undefined variable "ignored".
This makes it work similarly to further above:

      # Skip 'LOG("bla" fmt )' strings that typically appear as #defines.
      if fmt_re.match(quoted):
        if debug:
          errors_found.append(error_found(f, log.start(), 'Skipping define', log.group(0)))
        continue

Fix the following bug:

  scripts/verify_log_statements.py:92:11: F821 Undefined name `ignored`
     |
  90 |         # hopefully eval broke because of some '## args' macro def
  91 |         if debug:
  92 |           ignored.append(error_found(f, log.start(), 'Ignoring', log.group(0)))
     |           ^^^^^^^ F821
  93 |         continue
     |

Change-Id: I4661d4677a1f0fc8d595985e73e2632b9a83b7d6
The file was modifiedscripts/verify_log_statements.py
Commit 35336da8665e2294fa8e153afc1f4bcd405b055a by Oliver Smith
lint: run 'ruff' on various repositories

Lint the python code with "ruff check" and "ruff format" where they are
known to pass.

Related: https://docs.astral.sh/ruff/
Change-Id: I5c2ede1a7b2a204ca3deb24c55008c7585c289a0
The file was modifiedlint/lint_diff.sh
Commit b97a04f431503a5aa0a0f07a68910153c13721be by Oliver Smith
jobs/osmocom-build-tags…: set seccomp profile

Set the seccomp profile to make io_uring work in docker, so the
regression test in libosmocore using io_uring does not fail. This
happened to work previously on the build4 jenkins node because of an
older docker version.

Related: OS#6718#note-2
Change-Id: I9636ce30a0515b773be0581a8018bf1f62c1341c
The file was modifiedjobs/osmocom-build-tags-against-master.yml
Commit fa551a580aa5932c7e28f8d24da05b2de38aa580 by Oliver Smith
repo-install-test: ignore bladerf packages

Fix for this error with debian 10:

  Setting up bladerf-fpga-hostedxa9 (0.2019.07) ...
  Either your FPGA bitstream is missing, or it is out-of-date.
  Downloading FPGA bitstream from https://www.nuand.com/fpga/v0.11.0/hostedxA9.rbf...
  --2025-04-07 02:41:35--  https://www.nuand.com/fpga/v0.11.0/hostedxA9.rbf
  Resolving www.nuand.com (www.nuand.com)... 172.67.69.95, 104.26.13.238, 104.26.12.238, ...
  Connecting to www.nuand.com (www.nuand.com)|172.67.69.95|:443... connected.
  HTTP request sent, awaiting response... 403 Forbidden
  2025-04-07 02:41:36 ERROR 403: Forbidden.

Change-Id: I9e40c83f44cbbcc500967a89bb9fbafe17849eae
The file was modifiedscripts/repo-install-test/run-inside.sh
Commit 298ff539f73f0fd8327e7f8b24bd493630e4953d by Oliver Smith
jobs/ttcn3-testsuites: run sccp with testenv

Related: OS#6494
Change-Id: I70a2289820c3ef50aeb3499d36245121387c0475
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
The file was modifiedjobs/ttcn3-testsuites.yml
Commit dc69c46fd98eb8bcdce2bb77e27ee6efac8c83a3 by Oliver Smith
jobs/testsuites: move msc to testenv

Related: OS#6494
Change-Id: Ia5879b5eeca80f2aac5834ce757a5953e2af98b7
The file was modifiedjobs/ttcn3-testsuites.yml
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit 05062882ffc56e8fbfbb17247769210dd89ef1a5 by Oliver Smith
lx2-raspbian12build-ansible: update name

It has been upgraded from debian 11 to 12, adjust the name.

Related: OS#6695
Change-Id: I978401baec688f0a3e96cdb689dcaee7de6c1141
The file was modifiedjobs/update-osmo-ci-on-slaves.yml
The file was modifiedansible/hosts
Commit 01602b16c59838be23259762a5c1d99a0240e764 by Oliver Smith
OBS: cleanup: new script

Add a script for cleaning old sources uploaded to OBS. This was needed
as we were running out of space on the OBS server, due to source
tarballs being generated in nightly jobs (e.g. Osmocom_OBS_nightly and
never getting deleted). This script is now running automatically every
day.

The script does the following:
* Iterate over all OBS projects and packages inside the projects.
* Delete all source files matching *.dsc, *.tar.xz in old revisions from
  disk, which are not in the most recent revision anymore.
* Create an empty file instead (as otherwise OBS becomes unstable)
* Write a marker file with the revisions already iterated through (per
  project+package) and skip those on the next run.

Related: SYS#7407
Change-Id: I4649dedf0bb52f0bbdc7577ac0bc9e93cb3be192
The file was added.ruff.toml
The file was addedscripts/obs/cleanup.py
The file was modifiedlint/lint_diff.sh
The file was modifiedscripts/obs/lib/osc.py
Commit 3250eb02c2983090a3f6be457a1055e12637d19a by Pau Espin Pedrol
jobs/ttcn3-testsuites-testenv: Add ttcn3-pcap-client-test-io_uring

Since osmo-pcap.git Change-Id I72e8a6ceb4fb1eb70372e13bb139ead0e2bc0860,
osmo-pcap-client uses osmo_stream which in turn uses osmo_io (which can
u io_uring backend).
Hence, add io-uring backend to the test matrix for this project.

Change-Id: I817b4d27cd2e8faabf2ebb5ad28f025535571282
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit 4757cabae0a02cf3e93d33b279383482fa9a3e0a by Oliver Smith
ansible/setup-jenkins-slave: add python3-packaging

With the related patch, testenv depends on python3-packaging. Install it
on the jenkins nodes.

Related: osmo-ttcn3-hacks Ic15e385b9c8bab5c0dc70276049d6ad5ae927a6a
Change-Id: Ic6d3f3e75b4a31870195f9f6ac46c90119b92ee3
The file was modifiedansible/setup-jenkins-slave.yml
Commit 6a454a0ecdef6c534f4210a6bc36ca72905d21d9 by Oliver Smith
jobs/ttcn3: move ttcn3-ns-test to testenv

Move ttcn3-ns-test, ttcn3-ns-test-sns, ttcn3-ns-test-sgsn-sns to
testenv. Add -latest and -asan variants while at it, as this is now
supported.

Keep ttcn3-ns-test-fr docker-playground based for now as this currently
requires running on a debian 10 based node (see OS#6494#note-18).

Change-Id: I50c56484754255830ae93a3e2afa884d50d86742
The file was modifiedjobs/ttcn3-testsuites.yml
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit c100b38ee0507b142fc4d7c816488465064a1f93 by Oliver Smith
jobs/osmocom-obs-sync: add Ubuntu 25.04

Change-Id: Iaddd4e97153c55febbb95ee2ef0ffaee3582be7f
The file was modifiedjobs/osmocom-obs-sync.yml
Commit 388d22e7b0b2e82a7b06bc462b749af939a6236d by Oliver Smith
jobs/ttcn3-testsuites: run FR tests with debian 10

It is required that we run the FR tests with debian 10.

Related: OS#6494#note-19
Depends: docker-playground I1a41ca8ddd06f716c4bf29d60a0c2f0f82dc4e35
Change-Id: Ibd4cb705048ef5c39fa4192870e2b0f0d067842f
The file was modifiedjobs/ttcn3-testsuites.yml
Commit 646f9a0cf2e57d0d489178eae9c834f0eba2a022 by Oliver Smith
OBS: build_binpkg: use signed-by in sources.list

Installing repo keys with "apt-key" has been deprecated and fails in
debian unstable. Replace it with the new method.

Change-Id: I88164d8d106ff2656efbf78e9d3e4031edd9cf45
The file was modifiedscripts/obs/data/build_binpkg.Dockerfile
Commit d4c9f0c37995f5fb7ad30440f5dda6a58abba3a5 by Oliver Smith
obs-mirror-include: update Ubuntu versions

Update the list to only include the Ubuntu versions we currently build
for, which are:

* 25.04
* 24.10
* 24.04 LTS
* 22.04 LTS

Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Linux_Distributions#Ubuntu
Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Add_a_new_distribution_to_OBS
Related: https://osmocom.org/news/303
Change-Id: Icb07e53ad5640f985241fbdd3678f1a4191baf0c
The file was modifiedcontrib/obs-mirror/obs-mirror-include.txt
Commit ee7bf136ec25552f7f210a022cf31355dd86855e by Vadim Yanitskiy
jobs/ttcn3-testsuites: add ttcn3-dia2gsup-test-latest

Change-Id: I53ca86fc8a1280b149485ea434cdac8b1676d7f3
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit 06b815c32d7a639e716f657720795baff2bb4c9c by Oliver Smith
jobs: free up runners from 01:00 - 03:00

When looking at grafana, the build hosts (build4 and build5) are not
busy during 00:00 and 03:00. Binary packages seem to be finished at
00:00 already. Shorten the time for "Jobs that don't need binary
packages" by two hours to make room for running ttcn3-bts-test with less
load in a follow-up patch.

Change-Id: Iebfa58aca28bc8e575983aae9f4d34396a487a7e
The file was modifiedjobs/simtester-sanitize.yml
The file was modifiedjobs/README.md
The file was modifiedjobs/osmocom-build-tags-against-master.yml
The file was modifiedjobs/registry-rebuild-upload-fpga-build.yml
The file was modifiedjobs/osmocom-list-commits.yml
The file was modifiedjobs/registry-triggers.yml
Commit e5493058eb750818c1460346c92bd7700255d2a1 by Oliver Smith
jobs: run ttcn3-bts-test-* between 01:00 - 06:00

The automatic respawns of osmo-bts-trx have been intentionally removed
in the related docker-playground patch, so we can better notice when
osmo-bts-trx crashes instead of just restarting it and moving on with
the testsuite.

The result is that now it is even more important when ttcn3-bts-test
jobs are running, because when the builders are under high load then
faketrx cannot send the time quickly enough and it also causes
osmo-bts-trx to shutdown.

In a discussion with Vadim we've decided to schedule the ttcn3-bts-tests
so that they don't only run at a time where no other jobs are running.
But also that they don't run at the same time on the same builder
anymore to give them the least unrelated load possible. Other solutions
are also being investigated, but this should make the job in its current
form more stable already.

Move misc ttcn3 jobs to run from 06:00 to 08:00 and run ttcn3-bts-tests
between 01:00 and 06:00. Pin them to specific runners to make sure we
don't have both running on the same node.

Related: docker-playground I770a0530f90c5e03d2073bfc1c4cfd0e840379c9
Change-Id: I0162f7299c8e37f893ffa10ddc4c8edece29ed7f
The file was modifiedjobs/ttcn3-testsuites.yml
The file was modifiedjobs/README.md
Commit 541e5b2b32b4f5527b263130a061a4cf54e28957 by Oliver Smith
ansible: add build-hosts (build4, build5)

Prepare to install a daemon on these for getting coredumps into lxcs in
the next patch.

Related: OS#6769
Change-Id: I2aa4e774b288f4ac00fb38be40de32415c565733
The file was modifiedansible/hosts
The file was addedansible/setup-build-host.yml
The file was modifiedansible/util/known_hosts
Commit 88bc9b1e07c1f31c410780288658cbe0c4076737 by Oliver Smith
ansible: build-hosts: add testenv-coredump-helper

The Osmocom jenkins nodes run inside LXCs. When we get a coredump it
appears on the host. Add a helper script to the hosts so the jenkins
jobs can fetch the coredumps in case an Osmocom program crashes while
running a ttcn3 testsuite.

The helper script has the following safety features to ensure jenkins
can't just fetch any coredump:

* Only fetch coredumps within the last 3 seconds and only if the
  executable matches osmo-* or open5gs-*
* Only listen on the lxc IP

Related: OS#6769
Change-Id: I7e66c98106b7028a393e3b873e96ae2dcb412c48
The file was addedansible/roles/testenv-coredump-helper/handlers/main.yml
The file was addedansible/roles/testenv-coredump-helper/files/testenv-coredump-helper.py
The file was modifiedansible/setup-build-host.yml
The file was addedansible/roles/testenv-coredump-helper/files/testenv-coredump-helper.service
The file was addedansible/roles/testenv-coredump-helper/tasks/main.yml
The file was addedansible/roles/testenv-coredump-helper/README.md
Commit 5b6e032530e645befb5dd7b2a2a53f1222bbb701 by Oliver Smith
jobs/ttcn3-testsuites-testenv: set core env var

Configure testenv jobs to get coredumps from lxc hosts.

Related: OS#6769
Change-Id: I8359b0faa1fed76b430749589916cd072a8a7753
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit ef1d6a460c9ffb4c03c32876f9119bda9176eaf2 by Oliver Smith
jobs/osmocom-release-tarballs: add email parameter

Make it easy to disable emails when testing that releases for a newly
added project work as expected.

Change-Id: Ie90780dd37aa736739e41efda19bd3e21c306f31
The file was modifiedjobs/osmocom-release-tarballs.yml
Commit 4b0c5269eefc282f6e2ead3bbf5475b16bc6a960 by Oliver Smith
tarballs: add libosmo-dsp

Closes: OS#6765
Change-Id: I0506b323caa34a54f1284068130ccc006a9c103d
The file was modifiedscripts/tarballs/publish-tarballs-for-tags.sh
Commit 4f5c09e534ac6e5ab5db8728b6aa72a01e218938 by Oliver Smith
jobs/ttcn3-testsuites: display load at start/end

Display the load average line from uptime at the start and end of
testsuite runs, e.g.:

  load average: 0.77, 0.68, 0.68

Change-Id: I5f891ae5d9b501e2e111e61d3aaa55ae24cb663b
The file was modifiedjobs/ttcn3-testsuites.yml
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit 10db6a061412738744006e9604ca7eb03eb233dc by Oliver Smith
tarballs: add pyosmocom, libosmo-gprs

Fixes: OS#6786, OS#6785
Change-Id: I7eaf8d4091d6261a7e526148075c4a87f9de49b7
The file was modifiedscripts/tarballs/publish-tarballs-for-tags.sh
Commit 8b8d83c48e35fd104d02cfcc848ec21fff5d671f by Oliver Smith
jobs/registry-rebuild-upload: add rp2040

Related: OS#6784
Change-Id: I8c407162d4ef6f16270e07483151ddb3b67f17f3
The file was modifiedjobs/registry-rebuild-upload.yml
Commit 7a16a94bc4c8a68879fe9194821b0716770acbf4 by Oliver Smith
jobs/gerrit: add osmo-rp2040-firmware

Related: OS#6784
Change-Id: I12eb91af7e1d296a0f1447313a3449425e473669
The file was modifiedjobs/gerrit-verifications.yml
Commit 56e77437c64f252765302ee9eb5739da21e9af2d by Oliver Smith
jobs/master: pass osmo-ci to docker

Let jobs such as the upcoming one for osmo-rp2040-firmware use the
known_hosts file from osmo-ci when uploading binaries. In other jobs
we've copied the known_hosts into the contrib/jenkins.sh file, but let's
try to have it in a central place at least for new jobs.

Related: OS#6784
Change-Id: If5257e7f5e3e2f9e09c52fa558a63e34c276b9a6
The file was modifiedjobs/master-builds.yml
Commit 8e061850c6b452f8ab501de8f3db09ac8ce40caf by Oliver Smith
jobs/master-builds: add osmo-rp2040-firmware

Related: OS#6784
Change-Id: I94a6135fa48d47fe92007d570670f6f5403ce11b
The file was modifiedjobs/master-builds.yml
Commit 5051f62176530865ee5a64e298780a8aecda50ae by Oliver Smith
jobs/ttcn3: move ttcn3-gbproxy-test to testenv

Related: OS#6494
Change-Id: Iee56d7f6dbe141a23a4e8f140417c65d71a355f8
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
The file was modifiedjobs/ttcn3-testsuites.yml
Commit 3afb1d686791777b75561b4d623af15403e84e3d by Oliver Smith
jobs/ttcn3: add ttcn3-upf-test-asan

Related: SYS#7446
Change-Id: I5434c0b100032547d147f34994adde348d16cb4b
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit 257becfc615d4cb250f277d1f29b3ceee7c5bc00 by Oliver Smith
jobs/registry-rebuild-upload-titan: add branch arg

Add branch arguments, so it is easier to try out fixes.

Change-Id: Idc03e8977c8c9e300e394865dbec3b70a14935bc
The file was modifiedjobs/registry-rebuild-upload-titan.yml
Commit c74b3acb15ff23dea6baf71c8cd29c144aaf2c16 by Oliver Smith
scripts/kernel/fragment: enable osmo-epdg options

Change-Id: Ia60d5c1f5ade31e37293b40340e789f04ea86287
The file was modifiedscripts/kernel/fragment.config
Commit 3da4194b6b1feec63bfa1c2d4ca73949f7ba735b by Oliver Smith
OBS: build_binpkg: fix building for ubuntu 24.04

Delete the user with the given UID if it already exists, so the image
can be built for ubuntu 24.04 too with UID=1000:

   > [3/6] RUN    USERADD --uid=1000 -m user:
  0.166 useradd: UID 1000 is not unique

Change-Id: I85acbf2de53f02a65ef72d4fed8c2918ec6fa317
The file was modifiedscripts/obs/data/build_binpkg.Dockerfile
Commit 2c40ea2853ec99643f84eeaa563af497831c7c7e by Oliver Smith
OBS: build_binpkg: ubuntu 24.04: fix eclipse-titan

Fix that installing openjdk-21 as builddep of eclipse-titan fails with:
  Setting up openjdk-21-jre-headless:amd64 (21.0.7+6~us1-0ubuntu1~24.04) ...
  update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/java to provide /usr/bin/java (java) in auto mode
  update-alternatives: error: error creating symbolic link '/usr/share/man/man1/java.1.gz.dpkg-tmp': No such file or directory

Change-Id: I0d3cf36e5f54616fc7b8629b4ad8eb63342ceb08
The file was modifiedscripts/obs/data/build_binpkg.Dockerfile
Commit 9db271c7b325fd57e84adaaedba8644b2db03d23 by Oliver Smith
OBS: gerrit_binpkgs: add FEED parameter

Allow switching to another feed easily. I'm using this to build packages
for ubuntu quickly, for which we don't have a master feed (only for
debian 10, 11, 12 currently).

Change-Id: I1b04694e475a74b130ab3f801b99a0e827519ff8
The file was modifiedscripts/obs/gerrit_binpkgs.sh
Commit eeb7cf051353271505efe51ead038f6a524315fc by Oliver Smith
jobs/ttcn3: move epdg to testenv

Change-Id: I14a0ec774448782eb31e79e2a19b3631c3041735
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
The file was modifiedjobs/ttcn3-testsuites.yml
Commit 3b348d5effcd8b6cfde611b00473dd37545cebbb by Oliver Smith
OBS: remove pdf draft watermark for latest pkgs

Add the line
  ASCIIDOCSTYLE = $(BUILDDIR)\/custom-dblatex.sty
before the line
  include $(OSMO_GSM_MANUALS_DIR)/build/Makefile.asciidoc.inc
when building source packages for the latest feed, so there is no
"DRAFT" watermark.

Closes: OS#6188
Depends: osmo-gsm-manuals I33d67748b1e97578f4726009ac73fd0c4e7305db
Change-Id: Ie2e49ba89913321edaa90660a5348209355e61ce
The file was modifiedscripts/obs/lib/srcpkg.py
Commit 9f5b48a2978e652671a51b6511a068e05798cffc by Oliver Smith
scripts/manuals: use new method for removing DRAFT

osmo-gsm-manuals now has two "ASCIIDOCSTYLE" files:
* custom-dblatex.sty (without draft)
* custom-dblatex-draft.sty (new default)

This change was necessary to make it feasible to build the manuals
inside the debian binary packages without the watermark for the
osmocom:latest feed (see next patch).

Adjust the method for removing the "DRAFT" watermark: instead of
patching custom-dblatex.sty, switch from custom-dblatex-draft.sty to
custom-dblatex.sty.

Depends: osmo-gsm-manuals I33d67748b1e97578f4726009ac73fd0c4e7305db
Change-Id: I25060baa41c08fd3e25d5ff0b460d171ee2979ad
The file was addedscripts/manuals/0001-build-set-ASCIIDOCSTYLE-to-remove-DRAFT.patch
The file was removedscripts/manuals/0001-build-custom-dblatex.sty-remove-DRAFT.patch
The file was modifiedscripts/manuals/publish-manuals-for-tags.sh
Commit f7e3533392ef98ba46ed1e1b4ac3a60363de3bd2 by laforge
jobs/ttcn3-testsuites-testenv: no rm on error

Do not delete the cache dir if testenv returns with error, so we can
inspect it. Keep the linux kernel too, it doesn't make much of a size
difference and makes the code slightly simpler.

Change-Id: Icdd84204253ff94ac650fbeb2b3ad74e16d89dd4
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit 396d31a89962a29685fd017f908e0f2923fbf994 by Pau Espin Pedrol
jobs: ttcn3-stp*: Pass '-c all'

That testsuite has recently migrated to use several configs, so make
sure to run all of them.

Depends: osmo-ttcn3-hacks.git Change-Id I4ec8e1bbc8e71d8bd421dfbd5356bf1937ce2bb4
Change-Id: I76af2a979c1f29711bf9c3865d08229240f13eba
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit 881b6e75fcb7adea336f97b8966fd5bebbd7fce4 by Oliver Smith
lint: test_ruff: add osmo-dev to format_projects

Depends: osmo-dev I681627a3271ec65f356249e930323efc9ce0954d
Change-Id: Ic8ee81f44f71ebb8606e46b3c00332286a89dae9
The file was modifiedlint/lint_diff.sh
Commit 470f53067fe9a2c098903bd31952d1e97dd38774 by Oliver Smith
jobs/gerrit-verifications: run CI for osmo-dev.git

Run linter and pytest scripts for osmo-dev.

Related: osmo-dev I8bb2af7ffb902fd690e83e36739c2b4415b9ab80
Change-Id: I170e8913fd47e47120e0dd374c4662e1d2e964a3
The file was modifiedjobs/gerrit-verifications.yml
Commit 6d677aa9bbda05c6a55ef8ab231a0a60f8c9ed10 by Pau Espin Pedrol
jobs/ttcn3-testsuites-testenv.yml: Add ttcn3-5gc-test-ogs

Depends: osmo-ttcn3-hacks.git Change-Id I867433c87c6da2f0d1f299245aedf4830acbf539
Change-Id: I6ef174b64ab5f0561b62f315be28bb6710ac125c
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit d0c3e3bf9bb540cd82f71b2a47c109b3889c401a by Oliver Smith
OBS: update_obs_eclipse_titan: update

* Set the branch as argument instead of hardcoding it.
* Don't use --version-append, the ~osmocom part will be added to
  debian/changelog instead when pushing new versions.
* Add usage description.

Change-Id: I6580ce81e092299850f177110e130ac1847e05a7
The file was modifiedscripts/obs/update_obs_eclipse_titan.sh
Commit c0e26e3f500383f220b77d285df724e97a1af02c by Oliver Smith
jobs/osmocom-obs: add EMAIL_NOTIFICATIONS argument

Change-Id: I5009f7b722c7455ee6dfd25a6b5370929c9bc469
The file was modifiedjobs/osmocom-obs.yml
Commit 64b3a66d85930ca73ff777a964b7a9a05dc294f8 by Oliver Smith
OBS: repo without manuals: fix draft removal logic

Adjust set_asciidoc_style_without_draft_watermark() so it does not fail
in repositories that do not have any manuals.

Fixes: 3b348d5e ("OBS: remove pdf draft watermark for latest pkgs")
Change-Id: Ie93430a1f7bd2bae6886e87755e79ff93ea609e7
The file was modifiedscripts/obs/lib/srcpkg.py
Commit 807c83bea033671af2847ab6c480370439db93ec by Oliver Smith
OBS: remove libosmo-sccp-legacy

Stop building libosmo-sccp-legacy, which is not needed anymore since
osmo-msc 1.13.0 has been tagged some time ago.

Change-Id: I086e3eff10e79bddd8ec23927b46cc58a7101de6
The file was modifiedscripts/obs/lib/config.py
Commit 43c09c91818d9c62e60896c3680b1bea05a48604 by Oliver Smith
OBS: add the new osmocom-keyring package

The public key for OBS packages needs to be extended every two years.
When the previous key expires, it is not possible to update packages
anymore until users replace the old key with the new, extended key.

To make this less inconvenient for users, introduce a new
osmocom-keyring package that holds the current key (valid for 2 years),
which will get updated every year with an extended key (valid for
another 2 years, I'll add a jenkins job to remind us). This means as
long as users upgrade their packages once a year, they will
automatically receive the new key.

Related: https://gitea.osmocom.org/osmocom/osmocom-keyring
Related: OS#6567
Change-Id: I370b4fa0c6f7e8a925b1ddd7c1c47980a8f4fea2
The file was modifiedscripts/obs/lib/config.py
Commit 4dea08e88505771ed74aa05efe1760c400483519 by Oliver Smith
OBS: move meta_package_version to config variable

Have a config variable instead of hardcoding the value two times.

Change-Id: I003e27ed6d0247097ba33d33e578b9669be36f9a
The file was modifiedscripts/obs/update_obs_project.py
The file was modifiedscripts/obs/lib/config.py
The file was modifiedscripts/obs/lib/metapkg.py
Commit baf71c6784a5ad9b4508396d5e467555f2e5e520 by Oliver Smith
OBS: let meta package depend on osmocom-keyring

Let the meta package (osmocom-latest, osmocom-nightly etc.) depend on
osmocom-keyring. This means that after the user has enabled any of the
official Osmocom OBS repositories and installs a package from there, the
osmocom-keyring package will get installed as well, which results in
having an up-to-date /usr/share/osmocom-keyring/osmocom.asc.

Change-Id: Id4d213f355338b39a9ec5ccffc16179f6e472102
The file was modifiedscripts/obs/lib/config.py
The file was modifiedscripts/obs/lib/metapkg.py
Commit 8b28d63e980d051e5d39893549fe985218bae28f by Oliver Smith
jobs/reminder-extend-obs-key: new job

Add a script that downloads the current OBS pubkey, checks its
expiration date and fails if it is in less than a year. The idea is to
extend it for two years every year (so users have enough time to update
their osmocom-keyring package).

Change-Id: I934282efbe1fe3bd86813ad53df38ef79575bf8d
The file was addedjobs/reminder-extend-obs-key.yml
The file was addedscripts/reminder-extend-obs-key.sh
Commit af02d1fd3d6c840df49cc7dce2f8e59cf15c4f58 by Oliver Smith
jobs: make references to master branch consistent

Use "master" instead of:
- "refs/remotes/origin/master"
- "origin/master"
- "*/master"

This improves consistency and makes clear what should be used when
adding new jobs. It also fixes the problem with */master that it may
actually not only use the master branch, but also e.g. osmith/master
which can lead to unintentionally building and publishing artifacts from
the wrong branch. If we want to run a job on a different branch
intentionally, such a job should have an extra argument for branch that
can be changed when starting the job.

Change-Id: I7389585165bf3a790c7a338d10f5f7fe2311ee69
The file was modifiedjobs/update-osmo-ci-on-slaves.yml
The file was modifiedjobs/osmocom-obs.yml
The file was modifiedjobs/ttcn3-testsuites.yml
The file was modifiedjobs/osmocom-obs-check-builders.yml
The file was modifiedjobs/osmocom-obs-nightly-asan.yml
The file was modifiedjobs/coverity-status.yml
The file was modifiedjobs/coverity.yml
The file was modifiedjobs/osmocom-build-tags-against-master.yml
The file was modifiedjobs/octsim_osmo-ccid-firmware.yml
The file was modifiedjobs/osmo-gsm-tester-runner.yml
The file was modifiedjobs/simtester-sanitize.yml
The file was modifiedjobs/update-containers-osmo-python-tests.yml
The file was modifiedjobs/registry-rebuild-upload-fpga-build.yml
The file was modifiedjobs/osmo-gsm-manuals-trigger.yml
The file was modifiedjobs/osmocom-depcheck.yml
The file was modifiedjobs/osmocom-list-commits.yml
The file was modifiedjobs/registry-triggers.yml
The file was modifiedjobs/ttcn3-testsuites-kernel-git.yml
Commit 3d1e68dd2303c19130e13a192d6d6bc72a6d4841 by Oliver Smith
repo-install-test: ignore eclipse-titan-optdir

The osmocom:latest repository now has eclipse-titan-optdir-9.0.0 and
eclipse-titan-optdir-11.1.0 packages, which allow installing multiple
titan versions side-by-side. The related -dbgsym packages can conflict
with the main eclipse-titan-dbgsym package. Ignore these packages in the
repo-install test.

Fixes:
  Unpacking eclipse-titan-optdir-9.0.0-dbgsym (9.0.0~osmocom1.2263.c685) ...
  dpkg: error processing archive /tmp/apt-dpkg-install-4XXdZ1/205-eclipse-titan-optdir-9.0.0-dbgsym_9.0.0~osmocom1.2263.c685_amd64.deb (--unpack):
   trying to overwrite '/usr/lib/debug/.build-id/0a/072e12f92a7b564adec3a0896c18aa6c942391.debug', which is also in package eclipse-titan-dbgsym 9.0.0.3.0bbfc~osmocom

Related: https://jenkins.osmocom.org/jenkins/job/Osmocom-repo-install-debian12/feed=latest,label=qemu/704/console
Change-Id: If761290f7ff6d30000ccd9327310f78cf90fe793
The file was modifiedscripts/repo-install-test/run-inside.sh
Commit bcc235f90ad7cc24f4009970a208365b505cff08 by Oliver Smith
jobs/ttcn3: move pgw to testenv

Change-Id: I74ddac6ebf7f2ff61a36aca3458600b696279703
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
The file was modifiedjobs/ttcn3-testsuites.yml
Commit 9ba06ede42b472008f1e5354d68d354f4021ccd5 by Oliver Smith
jobs/ttcn3-testsuites-testenv: add email parameter

Change-Id: I92d92daf7ca087cbe25ab8e873b270a6bf9badb1
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit 5ac5fd1bae4c7832d65a58ff2e816d2cf3f1ab2f by Oliver Smith
jobs/ttcn3-…-testenv: add TESTENV_ARGS parameter

Change-Id: I2a07319ee26ac497eff2853329a002cdb09f75b4
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit e178be597f2f71930bed512a7ee7cb0301b92dda by Oliver Smith
jobs/ttcn3-testsuites: add email parameter

Change-Id: I9385f553196ac8d1ac1bfb05735ed937da67b7b4
The file was modifiedjobs/ttcn3-testsuites.yml
Commit 999600cb29ae3a47f664d7763f84d1b1742d925b by Oliver Smith
jobs: add ttcn3-bsc-test-{sccplite,vamos}-asan

Fix that we didn't have asan variants of those two.

Change-Id: I9888ec08bc39baaf713cb0a89d133e10fed50e0d
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit f453d5fe432b623336555f47d439f37ba6ffa609 by Oliver Smith
OBS: use debian/eol:buster for debian:10

Related: OS#6811
Change-Id: I5dabb97e259bd1d84cf6e9f8a46dc17240b5b88d
The file was modifiedscripts/obs/lib/docker.py
Commit 4fcb43a15160e464049e6371e1752b347a7d2b82 by Oliver Smith
jobs/repo-install-test: add email parameter

Change-Id: Ief7a800b5bc478adec03db52335965ed0cfa86ae
The file was modifiedjobs/repo-install-test.yml
Commit 4eef5b871a2cf06d8472678ae92ff940fe8a7091 by Oliver Smith
repo-install-test: debian10: use archive mirror

Related: OS#6811
Change-Id: I5c6d6624c083e103927942f62e76fbb7b87127a8
The file was modifiedscripts/repo-install-test.sh
Commit 5f2cb6dba0c3324f12914bf24d69d648f4ee2399 by Oliver Smith
jobs/registry…: add email parameter

Change-Id: Ie1e258b77ddb988e27b778cb8243cf33bb5f5440
The file was modifiedjobs/registry-update-base-images.yml
Commit 3fdcf5f7e8b0da481d68c1423028ed3626e5d10b by Oliver Smith
jobs/registry…: debian:buster -> debian/eol:buster

Related: OS#6811
Change-Id: I6a9fdec0fa1063859e10cf5978cf6fd6b53619c1
The file was modifiedjobs/registry-update-base-images.yml
Commit 1262888d49057d212a16a29506e8a30b79202510 by Oliver Smith
jobs/registry…: fix syntax error

Use $REGISTRY instead of ${REGISTRY}, so jenkins-job-builder 6.3.0
doesn't interpret it as JJB variable. It needs to be interpreted as
shell variable here. This probably worked with older JJB versions.

/home/user/code/osmo-dev/src/osmo-ci/jobs/registry-update-base-images.yml:27:11: While formatting string 'REGISTRY="registry.osmocom.org"\nIMAGES="\n  debian/eol:buster\n  debian:bullseye\n ...': Missing parameter: 'REGISTRY'
              REGISTRY="registry.osmocom.org"
              ^

Change-Id: I54b11d0dd7847bd208c4e4270be3151479dac983
The file was modifiedjobs/registry-update-base-images.yml
Commit f915fe64660acbe5a2eaaf3260734b48e858e6e0 by Vadim Yanitskiy
osmo_git_clone_url(): add logger_gsmtap and enftables

Change-Id: I495f3334a8d61a325fe6540043b07b8dababd8c6
The file was modifiedscripts/common.sh
Commit 46ad4f84a53093a7fd202b8fc44f1957c027f8af by Vadim Yanitskiy
jobs/master-builds: add logger_gsmtap and enftables

Change-Id: I88d8e03770e7effb49e59493d0e9ba59f75e8ddd
Related: logger_gsmtap.git e06a0b9b3506e8ab1a7cfeeae72e32b2d6186989
Related: enftables.git 735602e15471eab82c93f9e2e044a4d69031ced8
The file was modifiedjobs/master-builds.yml
Commit 05b8e1c1c5b43d60965b52ad38f0ffc0fdb75854 by Vadim Yanitskiy
jobs/gerrit-verifications: add logger_gsmtap

Change-Id: I4ffae01156caa467ec23f6b89185b8d65d4691a3
Related: logger_gsmtap.git e06a0b9b3506e8ab1a7cfeeae72e32b2d6186989
The file was modifiedjobs/gerrit-verifications.yml
Commit d44123b9c99692a1f1fa30f3ecb2e2fc6a14d8e0 by Vadim Yanitskiy
jobs/master-builds: fix repos_url for enftables

enftables is not in Gerrit, use the Gitea URL instead.

Change-Id: I3a50a4498c22c56129a40e410ab30c0e6bfee1ec
Fixes: 46ad4f8 ("jobs/master-builds: add logger_gsmtap and enftables")
The file was modifiedjobs/master-builds.yml
Commit 94440c0eecacbf51343977d4627fb6cd69157f5a by Oliver Smith
jobs/osmocom-obs-sync: add Debian:13

Related: OS#6826
Change-Id: I5ce1b03bc538481f14642a2ec91877e1848a6539
The file was modifiedjobs/osmocom-obs-sync.yml
Commit 80a9abae512b4f28c7531c27bb91ea8757bb1e72 by Oliver Smith
contrib/obs-mirror/obs-mirror-include: update

Update the daily backup/mirror configuration.

* Add Debian 13
* Add Raspbian 12 (not sure why it was not there yet)
* Add nightly/CentOS_7 (we build a few packages for it and we also have
  the mirror configured for latest)
* Remove CentOS 8 (dropped 1 year ago: https://osmocom.org/news/255)
* Remove Debian 10, Raspbian 10 (https://osmocom.org/news/308)

Related: OS#6826
Change-Id: I88e209d19fbdc65775342769a37600642b570130
The file was modifiedcontrib/obs-mirror/obs-mirror-include.txt
Commit f071c697887247030b8ec43c1a9dc2d873984d35 by Oliver Smith
OBS: support building debian trixie (13) pkgs

Translate "debian:13" to "debian:trixie", as for some reason no docker
tag is getting pushed for "debian:13". With this we can keep using the
usual short naming scheme in pipeline_binpkgs lines in
gerrit-verifications.yml (see next patch).

Change-Id: I1377af7f74f074ed6e28e07dee82360d024edd05
The file was modifiedscripts/obs/lib/docker.py
Commit 26b217c5462dffdbd7f4a27fff05b59388ae89b4 by Oliver Smith
jobs/gerrit: remove binpkgs that are the default

Remove the pipeline_binpkgs lines that are the same as the default. This
is in preparation for changing the default.

Change-Id: I348a83c8d70c2042bcab9ccaf83be2a638e722e7
The file was modifiedjobs/gerrit-verifications.yml
Commit 5c0b9984b437759fea55fb9101ccde49acb27d25 by Oliver Smith
jobs/gerrit: binpkgs: update debian versions

Change the default from "debian:10 debian:12" to "debian:11 debian:13",
as Debian 13 has just been released and we are about to remove Debian 10
binary packages.

Related: https://osmocom.org/news/310
Related: https://osmocom.org/news/308
Related: OS#6826
Change-Id: Ifc1d603c9e6e5054ad2f121f53ba3fb7e4d05286
The file was modifiedjobs/gerrit-verifications.yml
Commit 2412f3c68f64fe6078280a3fd0c2ad0a312bf44b by Oliver Smith
jobs/registry-update-base-images: add debian:trixie

Change-Id: I905863157b35bdc4ca60116be477b90abbd215f1
The file was modifiedjobs/registry-update-base-images.yml
Commit 66026ead5368e0588ac67745f46ba8c804ab16b4 by Oliver Smith
jobs/osmocom-obs-sync: add email parameter

Change-Id: I4e9b2f474bfd3b5eb235e46475cef54e3fc17aec
The file was modifiedjobs/osmocom-obs-sync.yml
Commit 6d19e82eedcd4852cce3b43482ab54f1df195ef2 by Oliver Smith
OBS: sync_obs_projects: support security.d.o

The Debian 13 meta config in the OpenSUSE OBS now lists
security.debian.org. Adjust the script that syncs the config to support
this URL too, rewrite it to HTTPS just like the other mirror URL.

Fix for:
      changing url to https: http://security.debian.org/debian-security?dist=trixie-security&component=main
  Traceback (most recent call last):
    File "/obs/sync_obs_projects.py", line 322, in <module>
      main()
    File "/obs/sync_obs_projects.py", line 312, in main
      rewrite_meta(project)
    File "/obs/sync_obs_projects.py", line 190, in rewrite_meta
      assert url.startswith("http://ftp.de.debian.org/debian"), \
  AssertionError: unexpected mirror URL

Related: https://build.opensuse.org/projects/Debian:13/meta
Change-Id: Iaf6a025376e398e26c5031b07fee6c1f64cbe047
The file was modifiedscripts/obs/sync_obs_projects.py
Commit 3b70b66f32a63b29281f3d2840a25e682785b60b by Oliver Smith
scripts/obs/sync_obs_projects.py: format with ruff

Change-Id: I1b7281b32c352b09a0641175b6f70751010800d9
The file was modifiedscripts/obs/sync_obs_projects.py
The file was modified.ruff.toml
Commit 41c933c85109b3500ae7cb286be6f685afc6920e by Oliver Smith
jenkins-gerrit: print the URLs this script reads

Make errors easier to understand by printing all URLs that the script is
reading from.

Change-Id: Ic0e7fc0e5a82927fc9ef6ec02c374b1ec7dd73e5
The file was modifiedscripts/jenkins-gerrit/comment_generate.py
Commit bc5dbb3093b47a5dfdca8f956d85e2cd5a7bcba1 by Oliver Smith
jenkins-gerrit: binpkgs: ignore decode errors

The output of recent osmo-s1gw jobs for building binary packages
contains invalid utf-8 characters, even though it should be utf-8
according to the HTTP header:
  content-type: text/plain;charset=utf-8

We only need to get the distro name from the output here, so simply
ignore any decode errors.

Fix for:
  $ ./comment_generate.py https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-s1gw/417/ -o gerrit_report.json -t result
  Reading https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-s1gw/417//consoleText
  Reading https://jenkins.osmocom.org/jenkins/job/gerrit-binpkgs/17255/consoleText
  Reading https://jenkins.osmocom.org/jenkins/job/gerrit-binpkgs/17260/consoleText
  Traceback (most recent call last):
    File "/home/user/code/osmo-dev/src/osmo-ci/scripts/jenkins-gerrit/./comment_generate.py", line 270, in <module>
      main()
    File "/home/user/code/osmo-dev/src/osmo-ci/scripts/jenkins-gerrit/./comment_generate.py", line 257, in main
      comment = get_comment_result(args.build_url, args.notify_on_success)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/code/osmo-dev/src/osmo-ci/scripts/jenkins-gerrit/./comment_generate.py", line 198, in get_comment_result
      pipeline = parse_pipeline(build_url)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/code/osmo-dev/src/osmo-ci/scripts/jenkins-gerrit/./comment_generate.py", line 89, in parse_pipeline
      stage = stage_from_job_name(job_name, job_url)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/code/osmo-dev/src/osmo-ci/scripts/jenkins-gerrit/./comment_generate.py", line 59, in stage_from_job_name
      return stage_binpkgs_from_url(job_url)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/user/code/osmo-dev/src/osmo-ci/scripts/jenkins-gerrit/./comment_generate.py", line 46, in stage_binpkgs_from_url
      content = response.read().decode("utf-8")
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  UnicodeDecodeError: 'utf-8' codec can't decode byte 0xef in position 237446: invalid continuation byte

Change-Id: If398037272c2de54c359ea8d907b35f6fb1e2b8b
The file was modifiedscripts/jenkins-gerrit/comment_generate.py
Commit cf88fab8cda55362233afbbd54aba0b99a263d44 by Vadim Yanitskiy
jobs/gerrit-verifications: osmo-ttcn3-hacks: do make clean

It's easy to break the build verification [for everybody] by
submitting a patch that creates a symlink to a non-existent file.
The workspace is not wiped, so the stale symlink remains and results
in failures like this:

(cd sgsn && ./gen_links.sh && ./regen_makefile.sh)
ttcn3_makefilegen: error: Cannot find any source file for argument `NAS_Templates.ttcn'.
make: *** [Makefile:131: _build/sgsn/Makefile] Error 1

Let's invoke the 'clean' recipe before 'compile' to avoid this.

Change-Id: I886a99e7b1e8c42ccc7441685ecd7b2c54d5a7af
The file was modifiedjobs/gerrit-verifications.yml
Commit 2874cbe58e89ec8de33b512d0b0d0240a7d42b27 by Oliver Smith
jobs/registry-rebuild-upload-titan: use trixie

Switch to the latest Debian release.

Depends: osmo-ttcn3-hacks Ib62851960724c17f9adddf54a2fc39adef911d32
Related: OS#6826
Change-Id: Iecca98c88ca81f192b7ffb01314654e1aa5cdb8b
The file was modifiedjobs/registry-rebuild-upload-titan.yml
Commit 10eaf3e4252ac2773b3e1362b7a72649cbd365c5 by Oliver Smith
jobs/ttcn3-testsuites-testenv: pull trixie image

Change-Id: Id6502c8fdad17feca9e3bc22f8b80d238fad9a8d
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit 3d72633a93b13f5e713a478363b97a224a5588e3 by Oliver Smith
OBS: lib/debian: format with ruff

Change-Id: I9aeade2c81f9d7bcfe0c04a0b9c75012217af90f
The file was modified.ruff.toml
The file was modifiedscripts/obs/lib/debian.py
Commit 9ceed0f955b99ff5eca8f0cdc9994974a6ec4209 by Oliver Smith
jobs/ttcn3-testsuites-testenv: enable upf latest

All tests are passing with upf latest now, so enable it.

Change-Id: Ia148d627d5f02e165354665e0b1629cf5e3f330a
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit bf3ef9d95af939d581f10f8a35e952e1a8131b21 by Oliver Smith
OBS: --version-append: never override version

We have some branches set up that when pushed to, directly result in
building OBS packages. We append a string to the package version there,
such as ~rhizomatica.testing. The expectation is that all packages built
from that branch have this string in the version.

Recently an edge case was found: when amending the commit of the last
tagged release, e.g. osmo-sgsn 1.12.0, then the generated version is
based on the previous git tag (as the last git tag's commit is not part
of the current branch anymore) while having the newer version in
debian/changelog. This then results in the newer version being used,
without appending the version string:

  osmo-sgsn: WARNING: version from changelog (1.12.0) is higher than
  version based on git tag (1.11.1.20-e000e~rhizomatica.production),
  using version from changelog (git tag not pushed yet?)

While IMHO it is a bad idea to just amend the commit of the last release
instead of making a separate commit, this results in unexpected behavior
so adjust the script to not override the version if --version-append is
used.

Related: OS#5981
Change-Id: I589ceb08b9e1ff2ccdd54e94216b25e1e40f22fe
The file was modifiedscripts/obs/lib/debian.py
Commit ffef33c677f7bf9c76a99a6dfa7ab7eb29a49c23 by Oliver Smith
jobs: run ttcn3-remsim-test-asan with bookworm

The default distribution to run ttcn3 testsuites and SUTs with has
recently been changed from debian 12 (bookworm) to 13 (trixie). Since
then we have seen 27 additional failures with osmocom:nightly:asan
(while osmocom:nightly and osmocom:latest work fine). As the reason for
this is currently unclear, revert to using debian 12 for this job for
now, so this doesn't mask other errors that the job would find
otherwise.

Related: OS#6845
Change-Id: I702770e36b47df0a47bc9a869127d6251290a7e4
The file was modifiedjobs/ttcn3-testsuites-testenv.yml
Commit 2f06c7dd079e41e3d923a1fd78386b28573b4e0e by Oliver Smith
jobs/gerrit-verifications: add libosmo-asn1-tcap

Related: OS#6849
Change-Id: Ib67057469e3848fe72b5a03147c3f6d4b62c33c2
The file was modifiedjobs/gerrit-verifications.yml
Commit 38b810436c9c68f7d71810b0605ea4aa82577a99 by Oliver Smith
OBS: build libosmo-asn1-tcap

Change-Id: I1b2f0a3ced424977f44f97ca4695132d4f57768c
The file was modifiedscripts/obs/lib/config.py
Commit 46a1da1a092727be6206ef97f31c080cf0188a50 by Oliver Smith
jobs/master-builds: add libosmo-asn1-tcap

Related: OS#6849
Change-Id: If83114f1dfadc2c649ffa9ccb411dbe20c174a30
The file was modifiedjobs/master-builds.yml
Commit 60bf602f6f8b0f4d06329b14767c4c49f8d42ded by Oliver Smith
OBS: disable_manuals: adjust for osmocom-bb

With the related change, we build manauals in the debian package of
osmocom-bb. The osmocom:nightly:asan feed gets built with manuals
disabled. Fix that building the osmocom-bb package in the asan feed
currently fails with:

[  160s] /usr/bin/make -C doc/manuals
[  160s] make[2]: Entering directory '/usr/src/packages/BUILD/doc/manuals'
[  160s] OSMO_GSM_MANUALS_DIR: /usr/src/packages/osmo-gsm-manuals (fallback)
[  160s] ERROR: OSMO_GSM_MANUALS_DIR does not exist!
[  160s] Install osmo-gsm-manuals or set OSMO_GSM_MANUALS_DIR.
[  160s] Makefile:6: /build/Makefile.asciidoc.inc: No such file or directory
[  160s] make[2]: *** No rule to make target '/build/Makefile.asciidoc.inc'.  Stop.

Related: osmocom-bb Ib04160287c98814a6f2ae104197abda563bdd5b9
Change-Id: I88f3291acbf067ab8779b298e828e18eb828a511
The file was modifiedscripts/obs/lib/debian.py
Commit f4516d6c32ca69727f44669eab6501da777b125b by Oliver Smith
Add Ubuntu 25.10, remove 24.10

Change-Id: I4e65f336b4eac3a9f9c7e0a7d3b76f9f499d6d43
The file was modifiedcontrib/obs-mirror/obs-mirror-include.txt
The file was modifiedjobs/osmocom-obs-sync.yml
Commit bd2cf1f881aea5dd5ca4a0f8822c5467762d1166 by Oliver Smith
OBS: stop building limesuite

Building limesuite is not needed anymore, as it is available at least
since debian 10 in the debian and ubuntu repositories. We have been
building the upstream version without changes.

Related: OS#6855
Change-Id: Id79ccf873fce8b3b4f61bd73ab89d6a95bd105c1
The file was modifiedscripts/obs/lib/config.py
The file was modifiedscripts/obs/lib/srcpkg.py
Commit 77eaf6179803cf8c9bd71df39beb375e46205a52 by Oliver Smith
testenv-coredump-helper: remove

After looking at this again, it makes more sense to keep
/proc/sys/kernel/core_pattern as "core" on build4 and build5, which we
use for jenkins jobs instead of installing systemd's coredumpctl and
making all coredumps go through that. The motivation for using
coredumpctl in testenv was that lots of developers may have it already
installed (though I'm not sure about that anymore), and that it gives a
nice API for retrieving the related executable name to a coredump
instead of having to parse the output of e.g. "file".

Using coredumpctl had the disadvantage that coredumps for all other
jobs, such as the master-builds are also caught by that and cannot be
easily placed in the workspace directory. I have started implementing
this by extending testenv-coredump-helper to communicate through a
socket and mounting that socket inside docker containers running
contrib/jenkins.sh (host -> lxc -> docker), and it works, but this
complexity is not useful here.

Instead the related patch will make testenv pick the core files when
coredumpctl is not available, and read the path from "file", making
testenv-coredump-helper obsolete.

Related: osmo-ttcn3-hacks Ia765b01432e4cb4cd36c45de874b966e3ebf55bc
Change-Id: I2959c6e6d97d5691ee2a4ae5d49a351eb5811f10
The file was removedansible/roles/testenv-coredump-helper/handlers/main.yml
The file was removedansible/roles/testenv-coredump-helper/files/testenv-coredump-helper.py
The file was removedansible/roles/testenv-coredump-helper/tasks/main.yml
The file was removedansible/roles/testenv-coredump-helper/files/testenv-coredump-helper.service
The file was modifiedansible/setup-build-host.yml
The file was removedansible/roles/testenv-coredump-helper/README.md
Commit dfa9fcca49ae8b8ce6c691196c3883206933e503 by Oliver Smith
scripts/wrapper_core_bt_on_error: new script

Add a wrapper script that runs a given program, and checks the exit
code. If it is not 0, and a core file appears, then load the coredump in
gdb and display its backtrace.

Change-Id: I9673abf3ae3b154505ea09237d37d7da4bf5d57f
The file was addedscripts/wrapper_core_bt_on_error.sh
Commit d1e1c39fb9af8a41f4a4e14784e49b05811c7e64 by Oliver Smith
jobs/master,gerrit: use wrapper_core_bt_on_error

When the exit code isn't 0, find coredumps and display their backtraces.

Change-Id: Idc893969b158e11d5ae17d0c0a05b52e662f8929
The file was modifiedjobs/master-builds.yml
The file was modifiedjobs/gerrit-verifications.yml
Commit 6696e8c1f61bdef1ee6046075aa30724a0b2fee5 by Oliver Smith
jobs/master,gerrit: set CFLAGS=-g

Generate debug symbols, so backtraces from coredumps become more useful.

Change-Id: Ieff8670e376f140a672a800961be753028cf7b6f
The file was modifiedjobs/master-builds.yml
The file was modifiedjobs/gerrit-verifications.yml
Commit 15a6a0248248eff25d376c44fd8da52e9e931562 by Oliver Smith
scripts/osmo-ci-docker-rebuild: switch to trixie

Change-Id: I1497f14e57f9d7b0867368b923c8f8919c72cd76
The file was modifiedscripts/osmo-ci-docker-rebuild.sh