Commit Graph

1387 Commits

Author SHA1 Message Date
Vadim Yanitskiy 881ccfade9 gerrit-verifications: execute 'distcheck' job for pysim
Change-Id: I9d4d9e9de2b16a4b745791f3c9c93507f43bfa6d
Related: pysim.git Ic72d58494e8fd0cab8d66ce60f7b70593b770872
2024-03-22 01:21:35 +07:00
Oliver Smith c1fe54aaf8 jobs: add osmocom-obs-ewild
Similar to osmocom-obs-nhofmeyr, add a jenkins job that automatically
picks up changes in Hoernchen/mssdr branches in the Osmocom projects,
and builds binary packages in home:ewild:mssdr.

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

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

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

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

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

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

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

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

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

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

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

Related: OS#6304
Change-Id: I6fc874d319d74aabdc33c10910cbcca2978d5bbb
2023-12-14 11:11:27 +01:00
Vadim Yanitskiy 0e2604dae0 coverity: build osmo-hnbgw with '--enable-pfcp'
This should improve the analysis depth for osmo-hnbgw.

Change-Id: I33b44a1c2ffde80b000b41b78569ff2f55bc98ed
2023-12-12 14:52:16 +00:00
Oliver Smith 4cf490967c coverity: add job to check for failed uploads
Related: SYS#6685
Change-Id: Ideabcb30f9f8f365acff2de7751eb74a2762a7a6
2023-12-08 14:53:40 +01:00
Oliver Smith 0bdf874252 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
2023-12-08 13:40:19 +00:00
Oliver Smith 1fc7514296 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
2023-12-08 13:40:08 +00:00
Oliver Smith 39dd96b390 coverity: upgrade to 2023.6.2
Change-Id: I91f087fa3b39e1e0bc48739f92c4c23b3c0aa34f
2023-12-08 09:34:32 +01:00
Oliver Smith 6c75241d15 README: document how to upgrade coverity
Change-Id: I551df9f36112f34cf76d0247f1ebc1e58ae0a896
2023-12-08 09:34:32 +01:00
Oliver Smith e4cb0649ef 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
2023-12-08 09:34:28 +01:00
Oliver Smith 11f9724c39 OBS: add jenkins job to check for new distros
Add a new jenkins job to notify us about new versions of Debian,
Raspbian and Ubuntu becoming available in the openSUSE OBS. This allows
us to consistently follow along and make the repositories available in
the Osmocom OBS. I've decided to check the openSUSE OBS instead of
checking somewhere upstream, because it takes time between a new
release of a distribution and the version becoming available in
openSUSE OBS, and we have another job that syncs the configuration with
that OBS instance.

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

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

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

Fixes: OS#6261
Change-Id: Iadc5cd8996eb4ed86634ceb35829a3e9239e598d
2023-12-04 08:55:28 +01:00
Oliver Smith 2031b3d747 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
2023-11-27 07:09:33 +00:00
Daniel Willmann de1651b1bf scripts/obs: Add -M/--no-meta option to avoid depending on osmocom-*
This is useful for testing one-off dev packages

Change-Id: Id18c75de559c9ba29efd38d8510f2db3206c4209
2023-11-24 10:00:57 +01:00
Oliver Smith a13ce691d1 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
2023-11-21 13:01:03 +00:00
Harald Welte b301da1369 ansible: add raspbian11build container on lx2 machine
Change-Id: I739e40cf6ef8d77585dfeb067ed75e258d94bbb3
Related: OS#5873
2023-11-18 15:22:43 +01:00
Harald Welte a05542cf58 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
2023-11-18 15:22:43 +01:00
Harald Welte 506e58eb5b 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
2023-11-18 15:13:18 +01:00
Harald Welte f61843c0e8 hosts: Add build4-obsworker
Change-Id: I0c663fa281042aa98822d27a67add8ba07dca172
2023-11-18 11:38:46 +01:00
Harald Welte ced38b31bc 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
2023-11-18 11:38:08 +01:00
Harald Welte 26ae81f6bd 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
2023-11-15 15:17:07 +01:00
Harald Welte 0afdbcf8bd 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
2023-11-14 21:23:59 +01:00
Oliver Smith 38707a473c 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
2023-11-07 12:23:20 +01:00
Oliver Smith 0c79a15162 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
2023-11-07 11:56:37 +01:00
Oliver Smith 88d62e3c69 tarballs: add osmo_dia2gsup
Change-Id: I9cbd3d3ce27a4b4c9c8e19b2876386d170d4f0a6
2023-11-07 11:40:06 +01:00
Oliver Smith a9e9c366b1 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
2023-11-02 21:42:19 +00:00
Oliver Smith 8ba48eb28a 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
2023-11-02 21:42:19 +00:00
Oliver Smith 25f74d3d51 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
2023-11-02 13:53:22 +01:00