I've verified that all master-builds jobs still work with this change.
Related: OS#5949
Depends: docker-playground I51925d0ab9e5a779379efab59c381ef12fb60929
Change-Id: I7d5bc7bb4c1457d4e05fd6e0d27668382c39973a
Prepare to let all master-builds jobs use debian-bullseye instead of
debian-buster.
Depends: docker-playground I8e1741f86ffb8abd658d1e4e0415dfd11fb1a8a1
Related: OS#5949
Change-Id: I55bd5869ecd753549b8f2f2822e825623d940acd
Build the manuals with the regular docker image, instead of the
fpga-build one.
Fix for:
build/shrink-pdfs.sh: 8: build/shrink-pdfs.sh: ps2pdf: not found
Related: SYS#6380
Change-Id: I6e9f832dc449af0ca7def29ef5a9161285b01736
Add a nightly jenkins job that does the following:
* Clone Wireshark from upstream
* Merge several Osmocom branches on top
* Build a source package
* Submit it to the osmocom:wireshark OBS project
Related: OS#2537
Change-Id: Ifb49c5cb22a4de0da30a920e5450a27172b11d73
Prepare to add a wireshark package. It will be in its own
osmocom:wireshark repository, and not in osmocom:nightly, :latest,
:master, so it's not added to lib/config.py.
Move lib.set_args() before parse_packages(), so the latter is able to
use lib.args.allow_unknown_package.
Related: OS#2537
Change-Id: I007f937ccb629e0593ec9253541ed05df42fac66
During refactoring, conflict_version was changed to version here, which
was wrong. The packages need to depend on the conflict_version of the
meta package, version is the version of the package itself.
Fix for:
The following packages have unmet dependencies:
libosmo-netif-dev : Depends: osmocom-nightly (= 202303160009) but it is not going to be installed
Depends: libosmocore but it is not going to be installed
Depends: libosmonetif11 (= 1.3.0.8.9e65.202303160009) but it is not going to be installed
libosmocore-dev : Depends: osmocom-nightly (= 1.8.0.79-b394d.202303170006) but it is not going to be installed
Depends: libosmocore but it is not going to be installed
Fixes: 0ed0e464 ("obs: don't pass conflict_version through functions")
Change-Id: I2326e3817c6f6887ef1196e603c3877768119a66
Prepare to use this for wireshark, to build a branch on-the-fly that
does not get pushed to origin, with Osmocom patches on top of upstream
master.
Related: OS#2537
Change-Id: Ifc963daf51ba3542f67420daaf7b29745404a92e
Prepare to add more arguments to the OBS scripts, so they can be used
for building the wireshark package in its own OBS project.
It was not so clear to me when writing this initially, but with more and
more arguments getting added: it's not very maintainable to pass each
variable from the argparse result several functions down to where it
gets used... so unfortunately this means the code needs to be refactored
to just use libs.args in the few lines of code where the arguments
actually get used.
This patch adds lib.args, and the next patches refactor existing code to
use it instead of passing parameters, where it makes sense. After that
follow the patches related to adding the wireshark package.
Related: OS#2537
Change-Id: I48853444f1386dfb842c174ebc45f9decc8bec0f
Remove num-to-keep from most jobs, as this leads to keeping the build
logs for a much shorter timeline than desired. For example the
gerrit-binpkgs-deb job that runs for most projects when pushing patches
to jenkins reaches the 120 limit in less than 24h - and so when clicking
the link on a failed build from yesterday it is already deleted.
Instead just keep the logs for the last 30 days, no matter how many were
submitted on one day. Storing logs doesn't take up much space.
Remove the artifact-days-to-keep and artifact-num-to-keep lines, as they
don't have an effect. For jobs that do have artifacts, the actual value
is min(days-to-keep,artifact-days-to-keep) and same with num-to-keep.
While at it, increase the ttcn3-testsuites build-discarder to 120 days
as this means more data will show up in the test result analyzer at
which we look frequently.
Change-Id: Iec5c22c7fcf6c1fd2db71611045f15dc6580ed86
Let the check only run on the main repository, not on any submodules.
This fixes that it would currently fail in osmo-trx: the osmocom-bb
submodule has a copy of libosmocore where the endianness check is known
to be failing (see https://gerrit.osmocom.org/c/osmocom-bb/+/31403).
Change-Id: I795a64a66b4a2e316a99e6b523cc33a9ed364272
Add the osmo-hlr releases where tests are not foward-compatible to the
related libosmocore change. Fixup releases 1.6.1 and 1.5.1 have been
made that are foward compatible.
Related: libosmocore I446e54d0ddf4a18c46ee022b1249af73552e3ce1
Change-Id: Ia772c9e823e494fdfce179da58735d3e6cee8e95
Add a new job that runs struct_endianness.py from libosmocore.git and
complains if there is a diff. The next patch adds it to the pipeline.
Related: OS#5884
Change-Id: Ie12ef58905e5cdf1fb6816b59efb65c0e56b5e8d
After gerrit was upgraded, the comment formatting changed. Links inside
blocks indented with two spaces cannot be clicked anymore, so change it
to a listing.
Change-Id: I4dc338c22e9afe4b9d9df845c6f5d9b3a91f93d9
Allow overriding the downloads.osmocom.org domain of the url where
packages are downloaded from, so we can download them from
people.osmocom.org instead while developing / debugging, e.g.:
https://people.osmocom.org/packages/home:/osmith:/nightly/
Change-Id: I36bc0eae9fdee75512c1dbdca84cd6224b8c192a
Don't check the osmo-upf service until it's fixed, so we don't miss
other errors that repo-install-test may find.
Related: OS#5905
Change-Id: I970cad1bdb4586afa8ba5b4dac31bb9ac02b7b2d
Check at the start if sdcc is installed, as it's required to build
libusrp. It might not be installed when testing locally.
Change-Id: I226f439f7eff657d01c667aae464c080b91d5a82
coverity/common.sh is a symlink to ../scripts/common.sh in this git
repository. The local_test.sh already adjusts the symlink so it points
to the right place after copying related scripts to /tmp/coverity.
However when running the script again, cp would fail with:
cp: '/home/user/code/osmo-dev/src/osmo-ci/coverity/common.sh' and '/tmp/coverity/common.sh' are the same file
Remove the symlink to avoid this error.
Change-Id: I081871e6e06547a90879bc4aa08ac2b5c5ddaeef
As it doesn't seem to build properly with default dahdi-linux, disable
it for now.
Related: OS#5886
Change-Id: Icb5cf7517a2ba0f3abb1d44337677f9502069ec6
Add the following projects to our coverity test job:
osmo-pcap
osmo-e1d
osmo-e1-recorder
osmo-upf
osmo-isdntap
osmo-uecups
osmo-remsim
Change-Id: Idee49aa4c15fcfb1a469db9e4978523af5608d70
Don't attempt to create the CCACHE_DIR and chown it to osmocom-build for
the simtester jenkins node, and more generally all that were not
created with the ansible provisioning scripts. In case of simtester,
there is no osmocom-build user and we don't have the space there to use
ccache.
Fix for:
chown: invalid user: ‘osmocom-build:osmocom-build’
Related: OS#5848
Change-Id: I339d9ba4ad0c959d7325820eb53bfa1f0e04c164
Put arguments for ccache into a new docker_run_ccache variable, and use
it with all projects where it makes sense to use ccache.
Other projects use docker_run without the ccache parameters again:
* osmo_ss7, osmo_dia2gsup, pysim:
Erlang/Python projects
* osmo-e1-hardware, ice40-usbtrace, no2bootloader, osmo-opencm3-projects:
Don't use the default docker image
* osmo-gsm-tester:
Only builds manuals (jenkins-build-manuals.sh)
Jenkins job builder's variable substitution doesn't replace {docker_run}
inside docker_run_ccache when used in cmd, so just duplicate the lines.
Related: OS#5848
Change-Id: Ib6d7f309b972979d3a3bc87f8fcf71f9e930c0da
Don't attempt to build deb packages for openbsc in gerrit-verifications.
Fix for:
ERROR: unknown package: openbsc
See packages_osmocom and packages_other in obs/lib/config.py
Change-Id: I3cd810366a6d711c1fdbf3d5ff03d507441307bd
Building debian-buster-jenkins on the raspberry pis may take > 1h,
depending on what changed. It has a lot of things we don't use, so build
and use a minimal image with the rpis instead.
Closes: OS#5863
Depends: docker-playground I4fb4b48b233acaef815c4c27ec6f17f12cfe836b
Change-Id: I73e62fbbf93824c0d37963039de4e00f26a43cbe
This script was supposed to cache already built Osmocom libraries. But
it was only used with openbsc, didn't work as expected anymore (looking
at openbsc-master, it just builds all deps from source without caching)
and will be replaced with logic that allows using ccache in a future
patch.
Using ccache has the big advantage that we can cache all build objects
where the source files did not change, and not just do it on a
dependency level. Oftentimes only few source files change in our
patches, so we can really cache everything else that is not affected
within any git repository and not just a dependency that didn't change.
ccache also does automatic cache size management to ensure a cache stays
within a given size limit.
Related: OS#5848
Depends: openbsc Ib3272feec76b30412ca60dec204255b64e33831b
Change-Id: Id94d6126b476077d57839e4a884621b8c034f0c6
Check if the poky path already exists. Even this wouldn't
detect if the poky has been only installed half way.
Related: OS#5801
Change-Id: I8ff8e72a5974378327d4692341b0a371c667b741
include_tasks and import_tasks have similar functionality.
Use import_tasks when importing non-variable depending files.
Further use import_tasks when not used within a loop.
Closes: OS#5797
Change-Id: I29766c65b9e1601a20aa8f20a438e8368c65f6a8