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
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
We no longer run the archive on the same machine/lxc as the normal
downloads server
Change-Id: Id490690394db9eb773f945ad4d7e65fe7fd5e17a
Related: OS#6257
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
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
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
Don't attempt to install limesuite-images. It runs a post-install script
that downloads files from an external server and fails currently, as
there are no images for 23.10. While we have limesuite-images packages
in our OBS repository, this is just a side-effect of building limesuite.
What we are really interested in is liblimesuite for osmo-trx, as I
understand.
Add --no-install-recommends to the apt-get install line in
install_repo_packages_debian, because the main limesuite package has
limesuite-images in recommends and would pull it in otherwise.
Change-Id: I237408c805977c831f352a57a301ea45753d1ac1
The 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
With the v2.0.0 release of rtl-sdr, it was decided to include the v in
the tag pattern again, so adjust it in the related scripts. Adjust
osmo-fl2k too in the OBS scripts because there the tag pattern was not
set.
Change-Id: If1bb64722bd24b0079d2427ea3b0f5b5c87ef7ac
The previous workaround for building on debian 12 is not needed anymore,
as the related patch has been merged. Replace it with a new workaround
needed for building the limesuite 23.10 release.
Change-Id: I569642ebb13ac3eb3e241642e299be0a0a2ab15d
Now that we run ./configure before building the tarball, make sure the
dependencies are installed.
Related: OS#6227
Change-Id: I82eb0a87f6e294fb258003ebe76f850a99952938
Copy files inside repo-install-test, instead of copying the directory
again. Otherwise it creates a /repo-install-test/repo-install-test/ path
inside qemu and then fails to run the script inside the directory:
Fix for:
sh: 0: cannot open /repo-install-test/run-inside-env.sh: No such file
Fixes: a7791217 ("scripts/repo-install-test: fix sftp compat")
Change-Id: I04d8c0e0fd31ee5d2a0912300dc93f5339bbef11
When running scp, Debian 12 uses the SFTP protocol by default instead of
the legacy SCP protocol. For some reason, this means it doesn't create
the /repo-install-test directory inside QEMU:
+ … scp … -r scripts/repo-install-test root@127.0.0.1:/repo-install-test
Warning: Permanently added '[127.0.0.1]:22793' (ED25519) to the list of known hosts.
scp: realpath /repo-install-test: No such file
scp: upload "/repo-install-test": path canonicalization failed
scp: failed to upload directory scripts/repo-install-test to /repo-install-test
Changing to the legacy protocol with "scp -O" would make it work again,
but instead of doing that add the mkdir so it works with the new
protocol too.
Related: OS#6186
Change-Id: I740affad2ea794094c8faa89a89bcad094e0075d
Fix for:
rsync: [Receiver] change_dir#3 "/downloads/home/releases/web-files/gapk" failed: No such file or directory (2)
Change-Id: I46310d633302028d486dd356147c9c4f35b24940
Make the ansible rule compatible with debian 12. The same package is
already in debian 11 and debian 10.
Fix for:
E: Package 'netcat' has no installation candidate
Change-Id: Idcc90ad7a2a104a9b4f5a76c6c89d74604651530
Add python3-setuptools, as it is needed to run the
update-osmo-python-on-slaves jenkins job.
Add bc, as it is needed in docker-playground.git's network_create() in
jenkins-common.sh.
Related: OS#6186
Change-Id: I1ff0711b7b29ba4dc78f51f257b986d7a0994a96
This is a dummy package that isn't available anymore in debian 12.
https://packages.debian.org/buster/qemu says:
> This package can safely be removed.
We install qemu-user-static and qemu-system-arm, which contain qemu
binaries.
Related: OS#6186
Change-Id: I4d5bd376b1e370d9636b9a2e9e710f5f20b9ae98
Make nc available on jenkins nodes running ttcn3 tests, as it is now
used by ttcn3-hss-test-ogs.
Related: docker-playground Iebeefd9689ae2efa54678b99ff929ca255ec64d1
Change-Id: I397d4fe33813b083b61cdabb1d00ab4ea63a456b
Simulate that we don't have network during package builds in gerrit
verifications, like it is the case when the packages will be built by
OBS.
I've also considered using network namespaces via "unshare -n" or
bubblewrap, but it wouldn't be possible to create a loopback device
inside the network namespace inside docker (maybe with --privileged, but
not worth it) and e.g. the osmo-mgw tests rely on lo.
Depends: osmo-epdg I2bb0b5f608cd5d9a24c2a367425c524447bd002c
Change-Id: I00282552e9988d66fdc269c6230f0e1432ace360
Add the erlang projects found in gerrit-verifications to master-builds
too, as we have it with most other Osmocom projects.
Change-Id: I6cf5a3c1e52ee73ad63eb2d7d5b1af19a9809026
Make it easier to copy entries from gerrit-verifications.yml to
master-builds.yml by using the same url schema in both.
Change-Id: Ibe992dd8027a8b8df8623abc57a590972443449f
Instead of failing when a project has no git-version-gen script, and no
git tags, use 0.0.0 as version. This is needed for the new osmo-epdg
project, which doesn't have tags yet.
Change-Id: I2f0f409feb96611095dfa511a33ea730e5bbf3e4
Adjust srcpkg.py to run a generate_build_dep.sh not only for
osmo_dia2gsup, but for any Osmocom project that has such a script. This
is in preparation for osmo-epdg, which will also have one.
Change-Id: Icd9dc734ec938398668640f77ec83aae4a1ee0f4
Remove containers starting with jenkins- or having ttcn3 in the name, if
they have been running for more than 24 hours. This can happen with the
ttcn3 testsuites, as they typically start multiple docker containers in
the background (one per Osmocom program) before they start the testsuite
docker container in the foreground. Usually the clean up trap makes sure
that all containers get killed, but we have seen that a few containers
have been running for a few months. One reason for this could be
temporary loss of connection between the jenkins server and the node
running the job.
Extend the clean script to remove the containers that were not properly
removed by the clean up trap.
Historically we used to kill docker containers of the same name before
starting a testsuite, but this had the downside that we could not start
the same testsuite multiple times in parallel. This was refactored in
docker-playground Ifcd384272c56d585e220e2588f2186dc110902ed.
Change-Id: I58c17b57c998eaba411658e83b7295d7cfcf9a23
The purpose of the limit is to remove images that are not being used in
a long time. With the current limit of 40 GB it leads to images being
removed just a few hours after they were last used, resulting in lots
of needless rebuilds. Also unexpected errors with images that we just
assume to be there (debian-bookworm-build).
Increases the limit for the nodes that run most of the jobs to 80 GB.
I have verified that the nodes have enough free space.
Related: OS#6183
Change-Id: I8cfb21a86510e43b8347c7f17159575b695ce9ba
Since previous patch 62693be1 ("OBS: fix generating wrong limesuite
version"), the scripts rely on having the correct pattern for the tag
in the config. Add the pattern for wireshark.
Fix for:
fatal: No tags can describe '6d412b991d8c2f50b7854611b1a9ef567bab9962'.
Change-Id: Ic8e83b4d5d897cb6b94b04b1232486288f3a1f9b
Fix for:
dpkg: error processing archive /tmp/apt-dpkg-install-4OjX3P/0924-soapysdr0.8-module-lms7_22.09.1+dfsg-1+b2_amd64.deb (--unpack):
trying to overwrite '/usr/lib/x86_64-linux-gnu/SoapySDR/modules0.8/libLMS7Support.so', which is also in package soapysdr0.7-module-lms7:amd64 22.09.1.17.4828.202309142026
Change-Id: I51f3541c62edc78842d4c461362dd8e5ea2f5d94
Instead of using git-version-gen in all git repositories, only use it
where it is part of the repository. Use git directly to build the
version string otherwise. To fix generating the wrong version string for
limesuite, use "git describe --tags" instead of "git describe" as in
git-version-gen. This is needed because limesuite releases > 20.01 only
have lightweight (non-annotated) tags.
Fix for:
limesuite: WARNING: version from changelog (22.09.1-1) is higher than
version based on git tag (20.01.0.182-4828.202309140026), using
version from changelog (git tag not pushed yet?)
Change-Id: I00d97d5cd12b2938a002d3e5c8ada6503f976e36